listab

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1300 (p) Thời gian: 1.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

Cho bảng \(A\) là lưới ô vuông gồm \(m\) dòng và \(n\) cột. Các dòng của lưới được đánh số từ 1 đến \(m\), từ
trên xuống dưới. Các cột của lưới được đánh số từ 1 đến \(n\), từ trái sang phải. Ô nằm trên giao của
dòng \(i\) và cột \(j\) của lưới gọi là ô (\(i, j\)) được điền số \(a_{i,j}\).

Một đường đi tăng trên bảng số là một dãy liên tiếp các ô chung cạnh mà các số điền trong các ô
theo thứ tự tăng dần.

Yêu cầu: Cho bảng số \(A\) hãy tìm đường đi tăng trên bảng số gồm nhiều ô nhất.

Dữ liệu

  • Dòng đầu tiên chứa hai số nguyên \(m, n\);
  • m dòng tiếp theo, dòng thứ \(i\) chứa \(n\) số \(a_{i,1}, a_{i,2}, ..., a_{i,n}\);

Kết quả

  • Gồm một dòng chứa một số là số ô trên đường đi tìm được.

Sample input

3 3
1 1 0
1 2 3
2 2 5

Sample output

5

Giới hạn:

  • Có 25% số test ứng với 25% số điểm của bài có \(𝑚, 𝑛 ≤ 10\);
  • Có 25% test khác ứng với 25% số điểm của bài có \(𝑚, 𝑛 ≤ 100\);
  • Có 25% test khác ứng với 25% số điểm của bài có \(𝑚, 𝑛 ≤ 1000\);
  • Có 25% số test còn lại ứng với 25% số điểm của bài có \(𝑚 ≤? ? ? , 𝑛 ≤? ? ?\)

Nguồn: 3D'20

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.