Bỏ qua đến nội dung
Kho đề HSG Tin 9Đề thi cấp tỉnh/thành phố

Bài 4 · Lập trình

Tăng bảng

Điểm
4 điểm
Thời gian
1 giây
Tên chương trình
ITABLE.*
Vào / Ra
ITABLE.INP → ITABLE.OUT

Đề bài

Thao tác tăng hình nón đối xứng của một dãy số X1,X2,X3,…,XN−2,XN−1,XNX_1, X_2, X_3, \ldots, X_{N-2}, X_{N-1}, X_N được thực hiện như sau:

  • Tăng X1X_1 và XNX_N lên 1 đơn vị;
  • Tăng X2X_2 và XN−1X_{N-1} lên 2 đơn vị;
  • Tăng X3X_3 và XN−2X_{N-2} lên 3 đơn vị;
  • …

Ví dụ 1:

[1] [2] [3] [4] [5] [6]
Trước 3 2 5 1 5 4
Tăng +1 +2 +3 +3 +2 +1
Sau 4 4 8 4 7 5

Ví dụ 2:

[1] [2] [3] [4] [5]
Trước 2 8 1 7 1
Tăng +1 +2 +3 +2 +1
Sau 3 10 4 9 2

Cho một bảng hình vuông A có NN dòng, NN cột. Các dòng được đánh số từ 1 tới NN theo thứ tự từ trên xuống dưới và các cột được đánh số từ 1 tới NN theo thứ tự từ trái qua phải. Ô ở dòng thứ ii, cột thứ jj được gọi là ô A(i,j)A(i, j). Ban đầu tất cả các ô đều có giá trị bằng 0.

Thực hiện TT thao tác tăng hình nón đối xứng trên bảng A, mỗi thao tác có cấu trúc như sau: gồm bốn số nguyên dương k,rc,x,yk, rc, x, y (k=1k = 1 hoặc k=2k = 2) có ý nghĩa:

  • Khi k=1k = 1, thực hiện tăng hình nón đối xứng trên dòng rcrc với dãy số gồm các số từ A(rc,x)A(rc, x) đến A(rc,y)A(rc, y);
  • Khi k=2k = 2, thực hiện tăng hình nón đối xứng trên cột rcrc với dãy số gồm các số từ A(x,rc)A(x, rc) đến A(y,rc)A(y, rc).

Yêu cầu: cho kích thước bảng, TT thao tác tăng và QQ câu hỏi. Mỗi câu hỏi có ý nghĩa: tìm giá trị của một ô của bảng sau khi thực hiện TT thao tác.

Dữ liệu vàoITABLE.INP

Vào từ tệp văn bản ITABLE.INP có cấu trúc:

  • Dòng đầu tiên gồm hai số nguyên dương NN và TT là kích thước của bảng và số thao tác tăng. (N≤5000;T≤105N \le 5000; T \le 10^5)
  • TT dòng sau, mỗi dòng gồm bốn số nguyên dương k,rc,x,yk, rc, x, y mô tả thao tác tăng lên dòng hoặc cột của bảng. (k=1k = 1 hoặc k=2;rc,x,y≤Nk = 2; rc, x, y \le N)
  • Dòng tiếp theo gồm số một số nguyên dương QQ là số ô cần tìm giá trị. (Q≤105Q \le 10^5)
  • QQ dòng sau, mỗi dòng chứa hai số nguyên dương u,vu, v có ý nghĩa là cần tìm giá trị của ô A(u,v)A(u, v). (u,v≤Nu, v \le N)

Mỗi số cách nhau một dấu cách. Dữ liệu đảm bảo đúng đắn và luôn có kết quả.

Kết quả raITABLE.OUT

Ghi ra tệp văn bản ITABLE.INP gồm QQ dòng, mỗi dòng in ra giá trị của một ô tương ứng.

Ràng buộc

  • Có 50% số test tương ứng với số điểm có với T≤5000T \le 5000;
  • Có 30% số test khác tương ứng với số điểm có với Q≤500Q \le 500;
  • Có 20% số test còn lại tương ứng với số điểm không có giới hạn gì thêm.

Ví dụ

Dữ liệu vàoITABLE.INP
4 2
1 2 1 4
2 3 1 3
3
1 1
2 2
2 3
Kết quả raITABLE.OUT
0
2
4

Giải thích

Bảng ban đầu:

0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0

Thao tác tăng lần 1 (dòng 2 được tô đậm):

0 0 0 0
1 2 2 1
0 0 0 0
0 0 0 0

Thao tác tăng lần 2 (các ô dòng 1–3 của cột 3 được tô đậm):

0 0 1 0
1 2 4 1
0 0 1 0
0 0 0 0

Thuộc đề thi

Kì thi chọn học sinh giỏi lớp 9 cấp thành phố năm học 2020 – 2021 — Môn thi: Tin học

Hà Nội · Cấp thành phố · Năm học 2020-2021