THỬ THÁCH ROBOT

(robothn.*)

Có một bản đồ dạng lưới ô vuông gồm \(n\) dòng và \(m\) cột, các dòng đánh số từ trên xuống dưới, từ 1 đến \(n\); các cột đánh số từ trái sang phải, từ 1 đến \(m\); ô ở dòng thứ \(i\) và cột thứ \(j\) được gọi là ô \((i,j)\) và có giá trị \(a_{i,j}\).

Robot đang ở ô \((1,1)\), cần di chuyển đến ô \((n,m)\). Tuy nhiên, trong mỗi lượt di chuyển, nếu robot ở ô \((i,j)\), chỉ được phép di chuyển sang ô \((i,j + 1)\) hoặc ô \((j + 1,i)\) hoặc ô \((i + 1,\ j + 1)\).

Cho một số nguyên dương \(k\). Robot có \(q\) thử thách, trong thứ thách thứ \(i\), cho một số nguyên \(x\) và robot cần di chuyển từ ô \((1,1)\) tới ô \((n,m)\) sao cho đi qua nhiều nhất các ô có giá trị chia \(k\)\(x\).

Yêu cầu: Hãy giúp robot đưa ra số lượng ô nhiều nhất có thể đi qua thỏa mãn yêu cầu đề bài.

Dữ liệu vào:

+ Dòng đầu tiên chứa bốn số nguyên dương \(n,m,q,k\ (n,m \leq 1000;1 \leq 10^{5};k \leq 10^{6})\) tương ứng là kích thước của lưới ô vuông, số lượng thử thách và số \(k\) cho trước.

+ \(n\) dòng sau, mỗi dòng chứa \(m\) số nguyên dương mô tả các giá trị của bản đồ lưới ô vuông. Các số có giá trị không vượt quá \(10^{9}\);

+ \(q\) dòng tiếp theo, mỗi dòng chứa một số nguyên mô tả số \(x\ (0 \leq x < k)\) của mỗi thử thách.

Kết quả:

+ Gồm \(q\) dòng, mỗi dòng gồm một số nguyên là số lượng ô nhiều nhất thỏa mãn yêu cầu đề bài.

Ví dụ:

Input Output Giải thích
3 4 2 6
1 1 1 7
2 8 9 1
1 3 2 3
1
2
5
3
Thử thách 1: tìm cách đi sao cho đi qua nhiều nhất các ô chia 6 dư 1. Có thể đi theo cách sau:
1 1 1 7
2 8 9 1
1 3 2 3
Đi qua các ô bôi đen và có 5 giá trị thỏa mãn là: 1, 1, 1, 7, 1
Thử thách 2: Tìm cách đi sao cho qua nhiều nhất các ô chia 6 dư 2. Có thể đi theo cách sau:
1 1 1 7
2 8 9 1
1 3 2 3
Đi qua các ô bôi đen và có 3 giá trị thỏa mãn là: 2, 8, 2

Ràng buộc:

+ Có 20% số test ứng với 20% số điểm thỏa mãn: \(n = 2\);

+ Có 20% số test khác ứng với 20% số điểm thỏa mãn: \(n = 2;q \leq 10^{3}\);

+ Có 30% số test khác ứng với 30% số điểm thỏa mãn: \(n,m,k \leq 300\);

+ Có 30% số test còn lại ứng với 30% số điểm không có ràng buộc gì thêm.

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. trungnam (6/7)
  2. sythai (5/8)
  3. npk1605 (5/10)
Trong 7 ngày
  1. nguyenanhvu (40/64)
  2. khieuquan (35/59)
  3. ngokhang (27/55)
Trong 30 ngày
  1. quechi (85/105)
  2. dangphong3108 (79/125)
  3. kiennhientv (79/179)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38905

Lưu Hải Phong - 2020
[email protected]