Cho một bảng chữ cái gồm \(M\) dòng và \(N\) cột, mỗi ô chứa một chữ cái in hoa. Xuất phát từ một ô tuỳ chọn, bạn được di chuyển liên tiếp sang một ô chung cạnh (trên, dưới, trái, phải) và ghi lại chữ cái của mọi ô đã đi qua. Điều kiện: chữ cái của ô sau phải lớn hơn hẳn chữ cái của ô ngay trước nó theo thứ tự bảng chữ cái (A < B < ... < Z). Vì vậy không ô nào bị đi qua hai lần.
Chẳng hạn có thể đi theo dãy chữ A, B, D, F nhưng không thể đi theo A, B, B hay C, B, A.
Hãy tìm độ dài lớn nhất (số ô) của một đường đi hợp lệ.
Input
- Dòng 1: hai số nguyên \(M\), \(N\).
- \(M\) dòng sau, mỗi dòng là một xâu gồm \(N\) chữ cái in hoa.
Output
In ra một số nguyên: độ dài đường đi dài nhất.
Constraints
- \(1 \le M, N \le 20\)
Sample Input 1
3 3
ABC
BCD
DEF
Sample Output 1
5
Sample Input 2
3 4
DCBA
EGHB
FBCD
Sample Output 2
7
Explanation
Ở ví dụ 1, một đường đi dài nhất là A(1,1) -> B(2,1) -> C(2,2) -> E(3,2) -> F(3,3) gồm 5 ô; không có đường nào dài hơn.
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.