Universal Cup Judging System

Universal Cup

حد الوقت: 2.0 s حد الذاكرة: 1024 MB مجموع النقاط: 100 الصعوبة: [عرض] قابلة للهجوم ✓
الإحصائيات

Cá Xanh Nhỏ có một hình chữ nhật gồm $n$ hàng và $m$ cột, chỉ số của cả hàng và cột đều bắt đầu từ $0$. Ô ở hàng $i$, cột $j$ có thể được biểu diễn là $(i, j)$ ($0 \le i \le n - 1, 0 \le j \le m - 1$). Ban đầu, tất cả các ô đều tồn tại (chưa bị xóa).

Cá Xanh Nhỏ gọi hai ô $(x_a, y_a)$ và $(x_b, y_b)$ là kề nhau khi và chỉ khi $|x_a - x_b| + |y_a - y_b| = 1$. Nói cách khác, hai ô này có chung một cạnh biên (còn gọi là 4-kề). Đối với hai ô $p = (x_a, y_a)$ và $q = (x_b, y_b)$, nếu chúng có thể được nối với nhau thông qua một dãy các ô kề nhau và chưa bị xóa, thì hai ô $p$ và $q$ được gọi là liên thông (4-liên thông).

problem_18013_1.png

Ví dụ, xét tình huống ở hình trên (các ô màu đen biểu thị các ô đã bị xóa, các ô màu trắng biểu thị các ô chưa bị xóa), ô A và ô B là kề nhau. Ô A liên thông với ô B và ô C, nhưng ô A và ô D không liên thông.

Bây giờ, Cá Xanh Nhỏ sẽ thực hiện một số thao tác trong giấc mơ của mình. Trong mỗi thao tác, Cá Xanh Nhỏ sẽ chọn một ô $(x, y)$ và xóa ô $(x, y)$.

Cá Xanh Nhỏ rất tò mò muốn biết sau mỗi lần xóa, trong số các ô chưa bị xóa còn lại trong hình chữ nhật hiện tại, có bao nhiêu ô là đỉnh khớp. Cụ thể:

  • Đối với một ô $r = (x_r, y_r)$, nếu tồn tại hai ô $p = (x_p, y_p)$ và $q = (x_q, y_q)$ sao cho $p$ và $q$ liên thông trên lưới, nhưng sau khi xóa ô $r$ thì không còn liên thông nữa, thì $r$ được gọi là một đỉnh khớp.

Ví dụ, trong hình trên, ô E là một đỉnh khớp. Bởi vì đối với ô A và ô C, chúng liên thông trước khi xóa ô E, nhưng không còn liên thông sau khi xóa ô E.

Tuy nhiên, vì giấc mơ của Cá Xanh Nhỏ rất kỳ diệu, bạn không thể đoán trước các thao tác tiếp theo của cậu ấy. Do đó, bạn cần trả lời tất cả các thao tác này trực tuyến (online). Cụ thể, tọa độ $(x, y)$ được cho trong thao tác thứ $i$ ($2 \le i \le q$) sẽ phụ thuộc vào kết quả trả về của thao tác thứ $i-1$. Hãy giúp Cá Xanh Nhỏ trả lời tất cả các truy vấn dưới ràng buộc này.

Dữ liệu vào

Dòng đầu tiên chứa ba số nguyên $n$, $m$ và $q$ ($2 \le n, m \le 500$, $1 \le q \le n \cdot m$).

Trong $q$ dòng tiếp theo, mỗi dòng chứa hai số nguyên $x'_i, y'_i$ ($0 \le x'_i < n, 0 \le y'_i < m$), biểu thị tọa độ đã mã hóa $(x_i, y_i)$ của ô bị xóa. Nếu đáp án của truy vấn trước đó là $preans$, thì tọa độ thực sự là $x_i = (x'_i + preans) \bmod n$, $y_i = (y'_i + preans) \bmod m$. Ban đầu, ta coi $preans = 0$.

Dữ liệu đảm bảo các tọa độ $(x_i, y_i)$ sau khi giải mã đôi một khác nhau. Nói cách khác, cùng một ô sẽ không bị xóa nhiều lần.

Kết quả

Với mỗi thao tác, in ra một dòng chứa một số nguyên biểu thị số lượng đỉnh khớp sau thao tác xóa đó.

Ví dụ

Ví dụ đầu vào 1

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

Ví dụ đầu ra 1

1
2
2
6
5
7
10
7
6
7
7
4

Giải thích

Dữ liệu sau khi giải mã:

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

Dưới đây là thứ tự mà mỗi ô được tô thành màu đen.

problem_18013_2.png

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.