Universal Cup Judging System

Universal Cup

Límite de tiempo: 2.0 s Límite de memoria: 1024 MB Puntuación total: 100 Dificultad: [mostrar] Hackeable ✓
Estadísticas

לדג ציאן הקטן יש מלבן בעל $n$ שורות ו-$m$ עמודות, כאשר האינדקסים של השורות והעמודות מתחילים שניהם מ-$0$. ניתן לסמן את התא בשורה ה-$i$ ובעמודה ה-$j$ באמצעות $(i, j)$ ($0 \le i \le n - 1, 0 \le j \le m - 1$). בהתחלה, כל התאים קיימים (לא נמחקו).

דג ציאן הקטן קורא לשני תאים $(x_a, y_a)$ ו-$(x_b, y_b)$ סמוכים אם ורק אם $|x_a - x_b| + |y_a - y_b| = 1$. במילים אחרות, שני התאים הללו חולקים גבול משותף (נקרא גם 4-סמוכים). עבור שני תאים $p = (x_a, y_a)$ ו-$q = (x_b, y_b)$, אם ניתן לחבר ביניהם באמצעות סדרה של תאים סמוכים שלא נמחקו, נאמר שהתאים $p$ ו-$q$ קשירים (4-קשירים).

problem_18013_1.png

לדוגמה, נתבונן במצב שלעיל (תאים שחורים מייצגים תאים שנמחקו, ותאים לבנים מייצגים תאים שלא נמחקו): תא A ותא B הם סמוכים. תא A קשיר לתא B ולתא C, אך תא A ותא D אינם קשירים.

כעת, דג ציאן הקטן עומד לבצע מספר פעולות בחלומו. בכל פעולה, דג ציאן הקטן יבחר תא $(x, y)$ וימחק את התא $(x, y)$.

דג ציאן הקטן סקרן מאוד לדעת, לאחר כל מחיקה, כמה מבין התאים שלא נמחקו שנותרו במלבן הנוכחי הם צומתי הפרדה (cut vertices). באופן מדויק:

  • עבור תא מסוים $r = (x_r, y_r)$, אם קיימים שני תאים $p = (x_p, y_p)$ ו-$q = (x_q, y_q)$ כך ש-$p$ ו-$q$ קשיריםברשת, אך אינם קשירים עוד לאחר מחיקת התא $r$, אזי $r$ נקרא צומת הפרדה.

לדוגמה, באיור שלעיל, תא E הוא צומת הפרדה. זאת משום שעבור תא A ותא C, הם קשירים לפני מחיקת תא E, אך אינם קשירים עוד לאחר מחיקת תא E.

עם זאת, מכיוון שחלומו של דג ציאן הקטן קסום מאוד, אינך יכול לחזות את הפעולות הבאות שלו. לכן, עליך לענות על כל הפעולות הללו בצורה מקוונת (online). באופן ספציפי, הזוג $(x, y)$ הנתון בפעולה ה-$i$ ($2 \le i \le q$) יהיה תלוי בתוצאה שהוחזרה מהפעולה ה-$i-1$. אנא עזור לדג ציאן הקטן לענות על כל השאילתות תחת מגבלה זו.

קלט

השורה הראשונה מכילה שלושה מספרים שלמים $n$, $m$ ו-$q$ ($2 \le n, m \le 500$, $1 \le q \le n \cdot m$).

ב-$q$ השורות הבאות, כל שורה מכילה שני מספרים שלמים $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

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.