Con tốt nhặt đậu

Đề bài

Mô tả

Trên một bàn cờ hình chữ nhật gồm n hàng và m cột, mỗi ô chứa một số hạt đậu từ 0 đến 9. Một con tốt xuất phát từ một ô nào đó ở hàng dưới cùng (do bạn tự chọn) và muốn đi lên tới hàng trên cùng.

Ở mỗi bước, con tốt di chuyển lên một hàng, đồng thời sang trái một cột hoặc sang phải một cột. Nó không được đi ra ngoài bàn cờ. Mỗi khi con tốt đặt chân vào một ô (kể cả ô xuất phát và ô kết thúc), nó nhặt toàn bộ số hạt đậu ở ô đó.

Khi lên tới hàng trên cùng, con tốt phải chia số đậu thu được cho chính nó và k người anh em, nên tổng số đậu thu được phải chia hết cho k+1. Hãy tìm số đậu lớn nhất mà con tốt có thể thu được thỏa mãn điều kiện chia hết, và một hành trình đạt được số đó.

Dữ liệu vào

  • Dòng đầu chứa ba số nguyên n, m, k.
  • n dòng tiếp theo, mỗi dòng gồm m chữ số viết liền nhau mô tả bàn cờ. Dòng đầu tiên ứng với hàng trên cùng, dòng cuối cùng ứng với hàng dưới cùng.

Dữ liệu ra

Nếu không thể lên tới hàng trên cùng với tổng số đậu chia hết cho k+1, in ra 1.

Ngược lại, in ra ba dòng:

  • Dòng 1: số đậu lớn nhất thu được (chia hết cho k+1).
  • Dòng 2: chỉ số cột (đánh số từ 1, tính từ trái sang phải) của ô xuất phát ở hàng dưới cùng.
  • Dòng 3: một xâu gồm n1 ký tự mô tả các bước đi, tính từ ô xuất phát. Ký tự L nghĩa là đi lên và sang trái, ký tự R nghĩa là đi lên và sang phải.

Nếu có nhiều đáp án, in ra bất kỳ đáp án hợp lệ nào.

Ràng buộc

  • 2n,m100
  • 0k10
  • Mỗi ô chứa một chữ số từ 0 đến 9.

Ví dụ

Input Output Giải thích
2 2 10
98
75
-1 Với k=10, tổng phải chia hết cho 11. Không hành trình nào đạt được nên in 1.
3 3 1
123
456
789
16
2
RL
Xuất phát ở cột 2 (giá trị 8), đi R tới ô giá trị 6, rồi L tới ô giá trị 2. Tổng 8+6+2=16 chia hết cho 2.
3 3 0
123
456
789
17
3
LR
k=0 nên chỉ cần lớn nhất. Xuất phát ở cột 3 (giá trị 9), đi L tới 5, rồi R tới 3: tổng 17.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0