Universal Cup Judging System

Universal Cup

実行時間制限: 2.0 s メモリ制限: 1024 MB 満点: 100 難易度: [表示] ハック可能 ✓
統計

Little Cyan Fish は $n$ 行 $m$ 列の長方形を持っており、行と列の番号はどちらも $0$ から始まります。$i$ 行 $j$ 列のマスは $(i, j)$($0 \le i \le n - 1, 0 \le j \le m - 1$)と表されます。最初、すべてのマスが存在します(削除されていません)。

Little Cyan Fish は、2 つのマス $(x_a, y_a)$ と $(x_b, y_b)$ が $|x_a - x_b| + |y_a - y_b| = 1$ を満たすとき、かつそのときに限り、それらが隣接していると呼びます。言い換えると、これら 2 つのマスは共通の辺を共有しています(4-隣接とも呼ばれます)。2 つのマス $p = (x_a, y_a)$ と $q = (x_b, y_b)$ について、削除されていない隣接するマスの列を介してそれらを結ぶことができるとき、マス $p$ と $q$ は連結である(4-連結である)と言います。

problem_18013_1.png

例えば、上の図の状況(黒いマスは削除されたマスを表し、白いマスは削除されていないマスを表す)を考えると、マス A とマス B は隣接しています。マス A はマス B およびマス C と連結ですが、マス A とマス D は連結ではありません。

今、Little Cyan Fish は夢の中でいくつかの操作を行おうとしています。各操作において、Little Cyan Fish は 1 つのマス $(x, y)$ を選び、マス $(x, y)$ を削除します。

Little Cyan Fish は、各削除操作の後に、現在の長方形に残っている削除されていないマスのうち、いくつが関節点(割点)であるかに強い興味を持っています。具体的には:

  • あるマス $r = (x_r, y_r)$ について、2 つのマス $p = (x_p, y_p)$ と $q = (x_q, y_q)$ が存在し、グリッド上で $p$ と $q$ は連結であるが、マス $r$ を削除した後には連結でなくなるとき、$r$ を関節点と呼ぶ。

例えば、上の図において、マス E は関節点です。なぜなら、マス A とマス C は、マス E を削除する前は連結ですが、マス E を削除した後は連結でなくなるからです。

しかし、Little Cyan Fish の夢は非常に不思議であるため、彼の後続の操作を予測することはできません。したがって、これらすべての操作にオンラインで答える必要があります。具体的には、$i$ 回目($2 \le i \le q$)の操作で与えられる $(x, y)$ は、$i-1$ 回目の操作で返された結果に依存します。この制約の下で、Little Cyan Fish がすべてのクエリに答えるのを手伝ってください。

入力

1 行目には 3 つの整数 $n$、$m$、$q$($2 \le n, m \le 500$、$1 \le q \le n \cdot m$)が与えられる。

続く $q$ 行には、それぞれ 2 つの整数 $x'_i, y'_i$($0 \le x'_i < n, 0 \le y'_i < m$)が与えられ、削除されるマスの暗号化された座標 $(x_i, y_i)$ を表す。前回のクエリの答えを $preans$ とすると、実際の座標は $x_i = (x'_i + preans) \bmod n$、$y_i = (y'_i + preans) \bmod m$ である。最初は $preans = 0$ とする。

復号後の $(x_i, y_i)$ は互いに異なることが保証される。すなわち、同じマスが複数回削除されることはない。

出力

各操作について、その削除操作後の関節点の個数を表す整数を 1 行に出力せよ。

入出力例

入力例 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

出力例 1

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

注記

復号後のデータ:

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

以下は、各マスが黒く塗られる順番である。

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.