R25B01_SPATH


Submit solution

Points: 20
Time limit: 1.0s
Memory limit: 512M

Problem type

Cho một lưới ô vuông có \(n\) hàng và \(m\) cột. Ô nằm trên hàng \(i\) và cột \(j\) được kí hiệu là \((i,j)\). Ở mỗi ô trên lưới, người ta điền một chữ cái Latin in thường (từ \(a\) đến \(z\)). Người ta chơi một trò chơi như sau:

  • Xuất phát từ ô \((1, 1)\).

  • Ở mỗi bước, người chơi được di chuyển từ ô hiện tại \((x,y)\) đến một trong hai ô \((x + 1,y)\) hoặc \((x,y + 1).\)

  • Trò chơi kết thúc khi người chơi đi đến ô \((n,m).\)

  • Sau khi chơi, người chơi nhận được một xâu bao gồm các kí tự trong các ô đã đi, theo thứ tự đã đi (kể cả ô \((1, 1)\) và \((n,m)\))

Yêu cầu: Hãy tìm cách chơi sao cho xâu nhận được có thứ tự từ điển nhỏ nhất có thể.

Dữ liệu:

  • Dòng đầu tiên chứa hai số nguyên \(n\) và \(m (1 ≤ n,m ≤ 2000)\) là kích thước của lưới.

  • \(n\) dòng tiếp theo, mỗi dòng chứa một xâu độ dài \(m\) chỉ bao gồm các chữ cái Latin in thường.

Kết quả:

  • Ghi ra màn hình một xâu duy nhất là xâu có thứ tự từ điển nhỏ nhất có thể.

Ràng buộc:

  • Có 10% số điểm có \(n,m ≤ 10;\)

  • Có 30% số điểm có \(n,m ≤ 100;\)

  • Có 30% số điểm có \(n,m ≤ 500;\)

  • Có 30% số điểm còn lại không có giới hạn gì thêm.

Sample Input

3 3 
aaa 
aab 
acd

Sample Output

aaabd

Comments

There are no comments at the moment.