Universal Cup Judging System

Universal Cup

Limite de temps : 2.0 s Limite de mémoire : 1024 MB Points totaux : 100 Difficulté: [afficher] Hackable ✓
Statistiques

Petit Poisson Cyan possède un rectangle de $n$ lignes et $m$ colonnes, où les indices des lignes et des colonnes commencent tous deux à $0$. La case située à la ligne $i$ et à la colonne $j$ peut être notée $(i, j)$ ($0 \le i \le n - 1, 0 \le j \le m - 1$). Initialement, toutes les cases existent (ne sont pas supprimées).

Petit Poisson Cyan dit que deux cases $(x_a, y_a)$ et $(x_b, y_b)$ sont adjacentes si et seulement si $|x_a - x_b| + |y_a - y_b| = 1$. Autrement dit, ces deux cases partagent une frontière commune (on parle aussi de 4-adjacence). Pour deux cases $p = (x_a, y_a)$ et $q = (x_b, y_b)$, si elles peuvent être reliées par une suite de cases adjacentes et non supprimées, alors les cases $p$ et $q$ sont dites connectées (4-connectées).

problem_18013_1.png

Par exemple, considérons la situation ci-dessus (où les cases noires représentent les cases supprimées et les cases blanches représentent les cases non supprimées) : la case A et la case B sont adjacentes. La case A est connectée à la case B et à la case C, mais la case A et la case D ne sont pas connectées.

Maintenant, Petit Poisson Cyan va effectuer certaines opérations dans son rêve. Lors de chaque opération, Petit Poisson Cyan choisit une case $(x, y)$ et supprime la case $(x, y)$.

Petit Poisson Cyan est très curieux de savoir, après chaque suppression, combien parmi les cases non supprimées restantes dans le rectangle actuel sont des points d'articulation (sommets de coupure). Plus précisément :

  • Pour une certaine case $r = (x_r, y_r)$, s'il existe deux cases $p = (x_p, y_p)$ et $q = (x_q, y_q)$ telles que $p$ et $q$ soient connectées dans la grille, mais ne le soient plus après la suppression de la case $r$, alors $r$ est appelée un point d'articulation.

Par exemple, sur la figure ci-dessus, la case E est un point d'articulation. En effet, pour la case A et la case C, elles sont connectées avant la suppression de la case E, mais ne sont plus connectées après la suppression de la case E.

Cependant, comme le rêve de Petit Poisson Cyan est très magique, vous ne pouvez pas prédire ses opérations suivantes. Vous devez donc répondre à toutes ces opérations en ligne (online). Plus précisément, le couple $(x, y)$ donné lors de la $i$-ème ($2 \le i \le q$) opération dépendra du résultat renvoyé par la $i-1$-ème opération. Veuillez aider Petit Poisson Cyan à répondre à toutes les requêtes sous cette contrainte.

Entrée

La première ligne contient trois entiers $n$, $m$ et $q$ ($2 \le n, m \le 500$, $1 \le q \le n \cdot m$).

Les $q$ lignes suivantes contiennent chacune deux entiers $x'_i, y'_i$ ($0 \le x'_i < n, 0 \le y'_i < m$), représentant les coordonnées chiffrées $(x_i, y_i)$ de la case supprimée. Si la réponse à la requête précédente est $preans$, alors les coordonnées réelles sont $x_i = (x'_i + preans) \bmod n$ et $y_i = (y'_i + preans) \bmod m$. Initialement, on considère que $preans = 0$.

Il est garanti que les couples $(x_i, y_i)$ déchiffrés sont deux à deux distincts. Autrement dit, une même case ne sera pas supprimée plusieurs fois.

Sortie

Pour chaque opération, affichez une seule ligne contenant un entier représentant le nombre de points d'articulation après cette opération de suppression.

Exemple

Entrée 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

Sortie 1

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

Note

Les données déchiffrées :

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

Voici l'ordre dans lequel chaque case est coloriée en noir.

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.