Covid-19

Đề bài

Mô tả

Dịch Covid-19 đã được kiểm soát, trong gần một tháng qua, tại Việt Nam không có ca nhiễm mới trong cộng đồng. Lệnh cách ly đã được nới lỏng, Hồng và các bạn được đi học trở lại, đó cũng là thời điểm thầy Phương mở trại HCC cho các bạn yêu thích lập trình, một hoạt động mà thầy đã duy trì trong nhiều năm qua. Tham gia HCC, Hồng rất thích thú với một bài toán của thầy Phương, bài toán mô phỏng việc di chuyển của virus, cụ thể bài toán như sau:

Xét lưới ô vuông kích thước m×n, các dòng được đánh số từ 1 đến m từ trên xuống, các cột được đánh số từ 1 đến n từ trái sang phải. Ô nằm trên giao của dòng i, cột j được gọi là ô (i,j) và ô này chứa một số nguyên dương a(i,j). Nếu một virus đang ở ô (x,y), virus có thể thực hiện bước di chuyển sau:

  • Virus di chuyển sang ô kề cạnh với ô (x,y) nằm trong lưới, việc di chuyển này mất 1 đơn vị thời gian;
  • Virus di chuyển sang ô (u,v) nằm trong lưới nếu u×v=a(x,y), việc di chuyển này mất 3 đơn vị thời gian.

Bài toán yêu cầu tính thời gian nhỏ nhất để virus di chuyển từ ô (p,q) đến ô (r,s).

Đây là bài toán khó đối với Hồng nên Hồng nhờ các anh chị tham gia kỳ thi Duyên Hải năm 2020 giải giúp.

Yêu cầu: Cho lưới kích thước m×n và các số trên lưới. Có h câu hỏi, với câu hỏi thứ k (k=1,2,,h) cần phải trả lời thời gian nhỏ nhất để virus di chuyển từ ô (pk,qk) đến ô (rk,sk) là bao nhiêu?

Dữ liệu vào

  • Dòng đầu chứa ba số nguyên dương m,n,h (h5).
  • Dòng thứ i (i=1,2,,m) trong m dòng tiếp theo chứa n số nguyên dương a(i,1),a(i,2),,a(i,n). Các số có giá trị không vượt quá 106.
  • Dòng thứ k (k=1,2,,h) trong h dòng tiếp theo chứa bốn số nguyên pk,qk,rk,sk.

Dữ liệu ra

  • Ghi h dòng, dòng thứ k (k=1,2,,h) ghi một số nguyên là thời gian nhỏ nhất để virus di chuyển từ ô (pk,qk) đến ô (rk,sk).

Ràng buộc

  • 20% số lượng test ứng với 20% số điểm thỏa mãn điều kiện: m×n102.
  • 20% số lượng test khác ứng với 20% số điểm thỏa mãn điều kiện: m×n103.
  • 20% số lượng test ứng khác với 20% số điểm thỏa mãn điều kiện: m×n104.
  • 20% số lượng test khác ứng với 20% số điểm thỏa mãn điều kiện: m×n105.
  • 20% số lượng test còn lại ứng với 20% số điểm thỏa mãn điều kiện: m×n106.

Ví dụ

Input Output Giải thích
2 5 2
8 6 4 1 1
1 1 1 1 1
1 1 2 5
2 5 1 1
4
3
Truy vấn 1: Virus đi từ ô (1,1) đến ô (2,5). Đường đi ngắn nhất mất 4 đơn vị thời gian.
Truy vấn 2: Virus đi từ ô (2,5) đến ô (1,1). Tại ô (2,5), a(2,5)=1=1×1, nên virus có thể nhảy đến ô (1,1) trong 3 đơn vị thời gian.

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