Universal Cup Judging System

Universal Cup

时间限制: 1 s 内存限制: 1024 MB
统计

Det finns $n$ punkter $P_1, P_2, \ldots, P_n$ i planet. VegiCat har $q$ frågor till dig. Varje fråga ger en punkt $P$.

problem_23596_6ec10fe5fc25c17116e0feb55e9f3d78.png

För varje fråga, konstruera en enkel polygon genom att använda några av de givna punkterna som dess hörn. Polygonen måste innehålla $P$ strikt inuti sig och ha minsta möjliga antal hörn. Om ingen sådan polygon finns, skriv ut $-1$.

En enkel polygon är ett slutet polygontåg med minst tre distinkta hörn. Intilliggande kanter skär varandra endast i sin gemensamma ändpunkt, och icke-intilliggande kanter skär inte varandra.

problem_23596_a5610273068183d75d3104e4c9c1d828.png

Exempel på enkla och icke-enkla polygoner

Indata

Den första raden innehåller ett heltal $T$ ($1 \le T \le 2 \cdot 10^4$), antalet testfall. Beskrivningen av testfallen följer.

Den första raden i varje testfall innehåller två positiva heltal $n$ och $q$ ($3 \le n \le 10^5$, $1 \le q \le 10^5$), som representerar antalet givna punkter respektive antalet frågor.

Den $i$-te av de följande $n$ raderna innehåller två heltal $x_i$ och $y_i$ ($-10^9 \le x_i, y_i \le 10^9$), koordinaterna för $P_i$. Det garanteras att dessa $n$ punkter är parvis olika.

Var och en av de följande $q$ raderna innehåller två heltal $x$ och $y$ ($-10^9 \le x, y \le 10^9$), koordinaterna för den efterfrågade punkten.

Det garanteras att summan av $n$ över alla testfall inte överstiger $10^5$.

Det garanteras att summan av $q$ över alla testfall inte överstiger $10^5$.

Utdata

För varje fråga, om det inte finns någon polygon som uppfyller kraven, skriv ut ett heltal $-1$ på en rad.

Annars, skriv ut en polygon med minsta möjliga antal hörn. På den första raden, skriv ut ett heltal $m$, antalet hörn.

På den andra raden, skriv ut $m$ heltal $a_1, a_2, \ldots, a_m$ ($1 \le a_i \le n$), indexen för hörnen i ordning. Polygonen är $P_{a_1} P_{a_2} \ldots P_{a_m}$. Hörnen kan skrivas ut i antingen medurs eller moturs ordning.

Indexen måste vara parvis olika, och den utskrivna polygonen måste vara enkel och innehålla den efterfrågade punkten strikt inuti sig. Om det finns flera lösningar, skriv ut vilken som helst av dem.

Exempel

Indata 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

Utdata 1

3
4 1 2
-1

Notering

I det första testfallet innehåller triangeln $P_4 P_1 P_2$ den efterfrågade punkten $P = (0, 0)$ strikt inuti sig. Eftersom en polygon har minst tre hörn har denna triangel minsta möjliga antal hörn.

I det andra testfallet är den enda möjliga polygonen triangeln $P_1 P_2 P_3$. Den efterfrågade punkten $P = (0, 0)$ ligger på kanten $P_2 P_3$, så svaret är $-1$.

problem_23596_b7e688351da0758f2f7d7d3948442e24.png

Illustrationer av exempeltestfallen

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.