DHBB 2026 - DX32 - 11 - Biến đổi

Xem dạng PDF

Gửi bài giải

Điểm: 45,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout
Test chính thức

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Xét một hệ thống biến đổi tự động trên mảng hai chiều gồm ~n~ hàng, ~m~ cột. Hệ thống này hoạt động như sau:

  • Ban đầu, mỗi phần tử của mảng nhận một giá trị;

  • Sau đó, hệ thống sẽ liên tục có các bước biến đổi theo quy luật giống hệt nhau.

  • Với mỗi bước biến đổi, ta gán lại giá trị của các ô trên mảng. Giá trị gán lại cho mỗi ô được tính chỉ dựa trên giá trị của các ô hiện tại.

  • Mỗi bước biến đổi, giá trị ô ~(u, v)~ được gán lại theo công thức XOR:

    ~a_{u,v} \leftarrow a_{x1,y1} \oplus a_{x2,y2} \oplus \dots \oplus a_{xk,yk}~

Yêu cầu: Cho trạng thái ban đầu, hãy xác định trạng thái của mảng sau ~t~ lượt biến đổi.

Input

  • Dòng đầu chứa ba số nguyên ~n, m, q~ ~(1 \le n, m \le 40; 1 \le n \cdot m \le 40; q \le 5000)~.

  • ~n \cdot m~ dòng tiếp theo biểu diễn công thức tính giá trị gán lại cho các ô dựa trên các giá trị hiện tại. Công thức được liệt kê cho các ô theo thứ tự các hàng từ ~1~ đến ~n~, các cột từ ~1~ đến ~m~. Mỗi công thức có dạng như sau:

    • Đầu tiên là số nguyên ~k~ ~(1 \le k \le n \cdot m)~ là số ô tham gia vào công thức.

    • Tiếp theo là ~k~ cặp số, cặp thứ ~i~ là hàng và cột của ô thứ ~i~.

    • Dữ liệu đảm bảo mọi ô chỉ xuất hiện tối đa ~1~ lần trong danh sách trên.

  • ~q~ nhóm dòng tiếp theo, mỗi nhóm dòng là ~1~ câu hỏi cần trả lời:

    • Dòng đầu tiên trong mỗi nhóm chứa một số nguyên ~t~ ~(0 \le t \le 10^9)~ là số lượt biến đổi cần làm.

    • ~n~ dòng tiếp theo, dòng thứ ~i~ chứa ~m~ số nguyên ~a_{i,1}, a_{i,2}, \dots, a_{i,m}~ là hàng thứ ~i~ trên trạng thái ban đầu của mảng ~(0 < a_{i,j} < 2^{32})~.

Output

  • Với mỗi truy vấn, in ra trạng thái của mảng sau ~t~ bước biến đổi

Scoring

Subtask Điểm Ràng buộc
1 ~30\%~ ~q \le 500~, ~t \le 1000~
2 ~30\%~ ~\forall k = 1~ (tức là mỗi ô sau khi biến đổi thì bằng đúng ~1~ ô trước đó)
3 ~20\%~ ~0 \le a_{i,j} \le 1~
4 ~20\%~ Không có giới hạn gì thêm

Sample Input 1

1 3 3
2 1 2 1 3
2 1 1 1 3
2 1 1 1 2
1
0 0 1
1
1 0 1
1
1 1 1

Sample Output 1

1 1 0
1 0 1
0 0 0

Notes

~a_{1,1} \leftarrow a_{1,2} \oplus a_{1,3}~

~a_{1,2} \leftarrow a_{1,1} \oplus a_{1,3}~

~a_{1,3} \leftarrow a_{1,1} \oplus a_{1,2}~


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.