Universal Cup Judging System

Universal Cup

Süre Sınırı: 2.0 s Bellek Sınırı: 1024 MB Toplam puan: 100 Zorluk: [göster] Hack'lenebilir ✓
İstatistikler

Der Kleine Cyanfisch hat ein Rechteck mit $n$ Zeilen und $m$ Spalten, wobei sowohl die Zeilen- als auch die Spaltenindizes bei $0$ beginnen. Die Zelle in Zeile $i$ und Spalte $j$ kann als $(i, j)$ ($0 \le i \le n - 1, 0 \le j \le m - 1$) dargestellt werden. Zu Beginn existieren alle Zellen (sind nicht gelöscht).

Der Kleine Cyanfisch nennt zwei Zellen $(x_a, y_a)$ und $(x_b, y_b)$ benachbart, genau dann, wenn $|x_a - x_b| + |y_a - y_b| = 1$ gilt. Mit anderen Worten: Diese beiden Zellen teilen sich eine gemeinsame Kante (auch als 4-benachbart bezeichnet). Für zwei Zellen $p = (x_a, y_a)$ und $q = (x_b, y_b)$ heißen $p$ und $q$ verbunden (4-verbunden), wenn sie durch eine Folge benachbarter und nicht gelöschter Zellen miteinander verbunden werden können.

problem_18013_1.png

Betrachten wir beispielsweise die obige Situation (schwarze Zellen stehen für gelöschte Zellen, weiße Zellen für nicht gelöschte Zellen): Zelle A und Zelle B sind benachbart. Zelle A ist mit Zelle B und Zelle C verbunden, aber Zelle A und Zelle D sind nicht verbunden.

Nun möchte der Kleine Cyanfisch in seinem Traum einige Operationen durchführen. In jeder Operation wählt der Kleine Cyanfisch eine Zelle $(x, y)$ aus und löscht die Zelle $(x, y)$.

Der Kleine Cyanfisch ist sehr neugierig, wie viele der verbleibenden nicht gelöschten Zellen im aktuellen Rechteck nach jedem Löschen Artikulationspunkte (Schnittknoten) sind. Genauer gesagt:

  • Für eine bestimmte Zelle $r = (x_r, y_r)$ gilt: Wenn es zwei Zellen $p = (x_p, y_p)$ und $q = (x_q, y_q)$ gibt, sodass $p$ und $q$ im Gitter verbunden sind, aber nach dem Löschen der Zelle $r$ nicht mehr verbunden sind, dann wird $r$ ein Artikulationspunkt genannt.

Im obigen Bild ist beispielsweise Zelle E ein Artikulationspunkt, da Zelle A und Zelle C vor dem Löschen von Zelle E verbunden sind, nach dem Löschen von Zelle E jedoch nicht mehr verbunden sind.

Da der Traum des Kleinen Cyanfischs jedoch sehr magisch ist, kannst du seine nachfolgenden Operationen nicht vorhersagen. Daher musst du alle diese Operationen online beantworten. Konkret hängt das in der $i$-ten ($2 \le i \le q$) Operation gegebene $(x, y)$ vom zurückgegebenen Ergebnis der $i-1$-ten Operation ab. Bitte hilf dem Kleinen Cyanfisch, alle Anfragen unter dieser Einschränkung zu beantworten.

Eingabe

Die erste Zeile enthält drei ganze Zahlen $n$, $m$ und $q$ ($2 \le n, m \le 500$, $1 \le q \le n \cdot m$).

Die nächsten $q$ Zeilen enthalten jeweils zwei ganze Zahlen $x'_i, y'_i$ ($0 \le x'_i < n, 0 \le y'_i < m$), die die verschlüsselten Koordinaten $(x_i, y_i)$ der gelöschten Zelle angeben. Wenn die Antwort auf die vorherige Anfrage $preans$ lautet, dann sind die tatsächlichen Koordinaten $x_i = (x'_i + preans) \bmod n$ und $y_i = (y'_i + preans) \bmod m$. Zu Beginn gilt $preans = 0$.

Es wird garantiert, dass die entschlüsselten $(x_i, y_i)$ paarweise verschieden sind. Das heißt, dieselbe Zelle wird nicht mehrfach gelöscht.

Ausgabe

Gib für jede Operation eine einzelne Zeile mit einer ganzen Zahl aus, die die Anzahl der Artikulationspunkte nach dieser Löschoperation angibt.

Beispiel

Eingabe 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

Ausgabe 1

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

Hinweis

Die entschlüsselten Daten:

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

Nachfolgend ist die Reihenfolge dargestellt, in der jede Zelle schwarz gefärbt wird.

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.