Tổng XOR Vùng Hình Chữ Nhật

Xem dưới dạng PDF

Gửi bài giải


Điểm: 100
Giới hạn thời gian: 1.5s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Tác giả:
Kiểu bài tập

Tèo đang chơi một trò chơi trí tuệ trên một bảng ma trận ô vuông kích thước \(N \times M\), hàng đánh số từ \(1\) đến \(N\), cột đánh số từ \(1\) đến \(M\). Ban đầu, giá trị số nguyên tại tất cả các ô trong ma trận đều bằng \(0\). Tèo thực hiện liên tiếp \(Q\) thao tác trên bảng ma trận:

  • 1 x y val: Tèo gán hoặc cập nhật giá trị tại ô tọa độ \((x, y)\) bằng cách thực hiện phép toán XOR giá trị hiện tại của ô đó với số nguyên \(val\).
  • 2 x1 y1 x2 y2: Tèo yêu cầu tính phép XOR tổng hợp của toàn bộ các số nguyên nằm trong vùng hình chữ nhật từ hàng \(x_1\) đến hàng \(x_2\) và từ cột \(y_1\) đến cột \(y_2\).

Hãy lập trình chương trình tính nhanh kết quả trò chơi giúp Tèo.

Định dạng đầu vào

  • Dòng đầu chứa ba số nguyên dương \(N, M\) và \(Q\) (\(1 \le N, M \le 1000\), \(1 \le Q \le 5 \cdot 10^4\)).
  • \(Q\) dòng tiếp theo, mỗi dòng chứa thông tin của một thao tác theo định dạng trên (\(1 \le x, x_1, x_2 \le N\), \(1 \le y, y_1, y_2 \le M\), \(x_1 \le x_2\), \(y_1 \le y_2\), \(0 \le val \le 10^9\)).

Định dạng đầu ra

  • Với mỗi thao tác loại 2, in ra kết quả phép XOR tổng hợp trên một dòng riêng biệt.

Ví dụ

Input:

3 3 3
1 1 1 5
1 2 2 12
2 1 1 2 2

Output:

9

Nhận xét

Không có ý kiến tại thời điểm này.