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 vertex) กล่าวโดยเจาะจงคือ:

  • สำหรับช่อง $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.