DHBB 2026 - DX32 - 11 - Biến đổi
Xem dạng PDFTrong 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