#891. DIST2 - Khoảng cách 2D

Bộ nhớ: 256 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Cho bảng ô vuông kích thước m×n , các dòng của bảng được đánh số từ 1 đến m , từ trên xuống dưới và các cột của bảng được đánh số từ 1 đến n , từ trái qua phải. Ô nằm trên giao của hàng i và cột j được gọi là ô (i,j) . Ban đầu tất cả các ô trên bảng có giá trị là 0 .

Khoảng cách giữa ô (x,y) và ô (u,v) được ký hiệu và tính theo công thức sau: DIST2(x,y,u,v)=|x-u|+|y-v| (Khoảng cách Manhattan).

Người ta thực hiện trên bảng này q thao tác, trong thao tác thứ i được cho bởi bộ bốn số u_i, v_i, d_i, c_i , tất cả những ô (x,y) nằm trong bảng thỏa mãn DIST2(u_i,v_i,x,y)≤d_i được tăng thêm một lượng là c_i .

Yêu cầu: Hãy đưa ra tổng xor giá trị của các ô trong bảng sau khi thực hiện q thao tác.

Dữ liệu:

  • Dòng đầu tiên chứa ba số nguyên dương m,n,q\ (1≤m,n≤2000,0≤q≤10^6) ;
  • Dòng thứ i trong q dòng tiếp theo chứa bốn số nguyên u_i,v_i,d_i,c_i\ (1≤u_i≤m,1≤v_i≤n,1≤d_i≤m+n,1≤c_i≤1000) .

Kết quả:

  • Ghi ra một số nguyên duy nhất là tổng xor giá trị của các ô trong bảng sau khi thực hiện q thao tác.

Ví dụ:

Dữ liệu:

5 5 3
3 3 2 1
2 2 1 2
5 5 0 4

Kết quả:

7

Giải thích:

  • Giá trị của các ô trong bảng sau q thao tác:
0 2 1 0 0
2 3 3 1 0
1 3 1 1 1
0 1 1 1 0
0 0 1 0 4

Dữ liệu:

1 1 0

Kết quả:

0

Ràng buộc:

  • 25\% số test ứng với 25\% số điểm của bài thỏa mãn điều kiện m,n,q≤200 ;
  • 25\% số test khác ứng với 25\% số điểm của bài thỏa mãn điều kiện q≤2000 ;
  • 25\% số test khác ứng với 25\% số điểm của bài thỏa mãn điều kiện u_i=u_j,v_i=v_j\ (1≤i,j≤q) ;
  • 25\% số test còn lại ứng với 25\% số điểm của bài không có điều kiện gì thêm.