Universal Cup Judging System

Universal Cup

時間限制: 1 s 記憶體限制: 1024 MB
统计

มีจุด $n$ จุด ได้แก่ $P_1, P_2, \ldots, P_n$ บนระนาบ VegiCat มีคำถาม $q$ ข้อสำหรับคุณ แต่ละคำถามจะกำหนดจุด $P$ มาให้

problem_23596_6ec10fe5fc25c17116e0feb55e9f3d78.png

สำหรับแต่ละคำถาม จงสร้างรูปหลายเหลี่ยมเชิงเดียว (simple polygon) โดยใช้จุดบางส่วนจากจุดที่กำหนดให้เป็นจุดยอด รูปหลายเหลี่ยมนี้จะต้องมีจุด $P$ อยู่ภายในอย่างเคร่งครัด (ไม่อยู่บนเส้นขอบ) และมีจำนวนจุดยอดน้อยที่สุด หากไม่มีรูปหลายเหลี่ยมดังกล่าว ให้แสดงผล $-1$

รูปหลายเหลี่ยมเชิงเดียว คือสายโซ่ส่วนของเส้นตรงปิดที่มีจุดยอดที่แตกต่างกันอย่างน้อยสามจุด ขอบที่อยู่ติดกันจะตัดกันเฉพาะที่จุดปลายร่วมของมันเท่านั้น และขอบที่ไม่อยู่ติดกันจะไม่ตัดกันเลย

problem_23596_a5610273068183d75d3104e4c9c1d828.png

ตัวอย่างของรูปหลายเหลี่ยมเชิงเดียวและรูปหลายเหลี่ยมที่ไม่ใช่เชิงเดียว

ข้อมูลนำเข้า

บรรทัดแรกประกอบด้วยจำนวนเต็ม $T$ ($1 \le T \le 2 \cdot 10^4$) แทนจำนวนกรณีทดสอบ รายละเอียดของแต่ละกรณีทดสอบมีดังต่อไปนี้

บรรทัดแรกของแต่ละกรณีทดสอบประกอบด้วยจำนวนเต็มบวกสองจำนวน $n$ และ $q$ ($3 \le n \le 10^5$, $1 \le q \le 10^5$) แทนจำนวนจุดที่กำหนดให้และจำนวนคำถามตามลำดับ

บรรทัดที่ $i$ จาก $n$ บรรทัดถัดไป ประกอบด้วยจำนวนเต็มสองจำนวน $x_i$ และ $y_i$ ($-10^9 \le x_i, y_i \le 10^9$) แทนพิกัดของจุด $P_i$ รับประกันว่าจุดทั้ง $n$ จุดนี้แตกต่างกันทั้งหมด

แต่ละบรรทัดใน $q$ บรรทัดถัดไป ประกอบด้วยจำนวนเต็มสองจำนวน $x$ และ $y$ ($-10^9 \le x, y \le 10^9$) แทนพิกัดของจุดที่ถาม

รับประกันว่าผลรวมของ $n$ ในทุกกรณีทดสอบรวมกันไม่เกิน $10^5$

รับประกันว่าผลรวมของ $q$ ในทุกกรณีทดสอบรวมกันไม่เกิน $10^5$

ข้อมูลส่งออก

สำหรับแต่ละคำถาม หากไม่มีรูปหลายเหลี่ยมที่ตรงตามเงื่อนไข ให้แสดงผลจำนวนเต็ม $-1$ ในหนึ่งบรรทัด

มิฉะนั้น ให้แสดงรูปหลายเหลี่ยมที่มีจำนวนจุดยอดน้อยที่สุด โดยบรรทัดแรกให้แสดงจำนวนเต็ม $m$ หนึ่งจำนวน แทนจำนวนจุดยอด

ในบรรทัดที่สอง ให้แสดงจำนวนเต็ม $m$ จำนวน ได้แก่ $a_1, a_2, \ldots, a_m$ ($1 \le a_i \le n$) แทนลำดับดัชนีของจุดยอด รูปหลายเหลี่ยมคือ $P_{a_1} P_{a_2} \ldots P_{a_m}$ สามารถเรียงลำดับจุดยอดตามเข็มนาฬิกาหรือทวนเข็มนาฬิกาก็ได้

ดัชนีทั้งหมดจะต้องแตกต่างกัน และรูปหลายเหลี่ยมที่แสดงผลจะต้องเป็นรูปหลายเหลี่ยมเชิงเดียวที่มีจุดที่ถามอยู่ภายในอย่างเคร่งครัด หากมีคำตอบที่ถูกต้องหลายแบบ ให้แสดงคำตอบใดก็ได้

ตัวอย่าง

ข้อมูลนำเข้า 1

2
5 1
0 4
-3 0
-3 -3
3 -3
3 0
0 0
3 1
0 4
-3 0
3 0
0 0

ข้อมูลส่งออก 1

3
4 1 2
-1

หมายเหตุ

ในกรณีทดสอบแรก รูป삼เหลี่ยม $P_4 P_1 P_2$ มีจุดที่ถาม $P = (0, 0)$ อยู่ภายในอย่างเคร่งครัด เนื่องจากรูปหลายเหลี่ยมต้องมีจุดยอดอย่างน้อยสามจุด รูปสามเหลี่ยมนี้จึงมีจำนวนจุดยอดน้อยที่สุด

ในกรณีทดสอบที่สอง รูปหลายเหลี่ยมเดียวที่เป็นไปได้คือรูปสามเหลี่ยม $P_1 P_2 P_3$ แต่จุดที่ถาม $P = (0, 0)$ อยู่บนขอบ $P_2 P_3$ พอดี ดังนั้นคำตอบจึงเป็น $-1$

problem_23596_b7e688351da0758f2f7d7d3948442e24.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.