trang chủ / đề bài / dhbb23_lqdbd_11_a

Truy vấn

Đề bài

Mô tả

Cho một bảng kích thước N×M gồm N hàng và M cột. Các hàng được đánh số từ 1 đến N từ trên xuống dưới, các cột được đánh số từ 1 đến M từ trái sang phải. Duyệt các ô theo thứ tự từ trái sang phải trên từng hàng và từ hàng trên xuống hàng dưới.

Ở lượt đầu tiên, điền lần lượt các số 1,2,…,⌈N·M2⌉ vào các ô cách nhau một ô theo thứ tự duyệt trên, bắt đầu từ ô đầu tiên (tức là vào ô thứ 1,3,5,… theo thứ tự duyệt). Sau đó, tiếp tục điền các số còn lại ⌈N·M2⌉+1,…,N·M vào những ô còn trống, cũng theo đúng thứ tự duyệt trên.

Ví dụ với N=3, M=4, bảng sau khi điền là:

Cột 1 Cột 2 Cột 3 Cột 4
Hàng 1 1 7 2 8
Hàng 2 3 9 4 10
Hàng 3 5 11 6 12

Có Q truy vấn, mỗi truy vấn gồm hai số x,y. Với mỗi truy vấn, hãy xác định số được ghi tại ô thuộc hàng x, cột y.

Dữ liệu vào

  • Dòng đầu tiên gồm hai số nguyên N,M (1≤N,M≤109).
  • Dòng tiếp theo chứa số nguyên Q (1≤Q≤105).
  • Q dòng tiếp theo, mỗi dòng gồm hai số nguyên x,y (1≤x≤N, 1≤y≤M) mô tả một truy vấn.

Dữ liệu ra

In ra Q số là câu trả lời cho các truy vấn theo thứ tự xuất hiện, các số cách nhau bởi một dấu cách.

Ràng buộc

  • 1≤N,M≤109.
  • 1≤Q≤105.
  • 1≤x≤N, 1≤y≤M.
  • 25% số test có N,M≤100.
  • 25% số test khác có N,M≤105.
  • 50% số test còn lại có N,M≤109.

Ví dụ

Input Output Giải thích
3 4
5
1 3
2 4
2 3
3 1
1 2
2 10 4 5 7 Bảng 3×4 như hình trên. Ô (1,3) ghi 2, ô (2,4) ghi 10, ô (2,3) ghi 4, ô (3,1) ghi 5, ô (1,2) ghi 7.
3 3
4
1 1
1 2
2 2
3 3
1 6 3 5 Lượt đầu điền 1,…,5 vào các ô thứ 1,3,5,7,9; lượt sau điền 6,…,9. Các hàng của bảng là 1 6 2, 7 3 8, 4 9 5.

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