trang chủ / đề bài / olp30425_matrix3

Đường đi trên ma trận

Đề bài

Mô tả

An đang chơi một trò chơi, màn hình trò chơi là hình chữ nhật được chia làm n×m ô vuông đơn vị (n dòng và m cột). Mỗi ô vuông được đặt một phần thưởng, phần thưởng ở ô vuông nằm trên dòng thứ i từ trên xuống và cột thứ j từ trái sang có giá trị là ai,j. Một nhân vật đang đứng ở ô trái trên (vị trí dòng 1, cột 1), cần phải di chuyển tới ô phải dưới của màn hình (vị trí dòng n, cột m). Mỗi bước, An có thể điều khiển nhân vật đi xuống dưới một đơn vị hoặc sang phải một đơn vị, nhưng không được phép đi xuống ba lần liên tiếp. Lưu ý, việc đi sang phải nhiều lần liên tiếp là không bị giới hạn.

Yêu cầu: Hãy giúp An tìm cách điều khiển nhân vật sao cho tổng giá trị phần thưởng ở những ô mà nhân vật đi qua (bao gồm cả ô xuất phát và ô kết thúc) là lớn nhất có thể. Đưa ra tổng giá trị đó.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên dương n và m (1≤n,m≤2025).
  • n dòng tiếp theo, mỗi dòng chứa m số nguyên dương. Trên dòng thứ i, số thứ j là ai,j (1≤ai,j≤105).

Dữ liệu bảo đảm luôn tồn tại một cách di chuyển hợp lệ từ ô trái trên tới ô phải dưới.

Dữ liệu ra

In ra một số nguyên dương duy nhất là tổng giá trị phần thưởng lớn nhất tìm được.

Ràng buộc

  • 1≤n,m≤2025.
  • 1≤ai,j≤105.

Subtasks

Điểm được tính theo từng test.

  • Subtask 1 (25% số test): n,m≤10.
  • Subtask 2 (30% số test): n≤3.
  • Subtask 3 (45% số test): Không có ràng buộc gì thêm.

Ví dụ

Input Output Giải thích
4 3
1 1 1
5 1 1
5 1 2
3 3 1
16 An có thể điều khiển nhân vật: đi xuống, đi xuống, sang phải, đi xuống, sang phải. Tổng là 1+5+5+1+3+1=16.
5 2
1 1
9 1
9 1
9 1
1 1
22 Ví dụ bổ sung. Không được đi xuống cả 4 bước ở cột 1; cách tốt nhất là đi xuống, đi xuống, sang phải, đi xuống, đi xuống với tổng 1+9+9+1+1+1=22.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0