Universal Cup Judging System

Universal Cup

Limite de temps : 1 s Limite de mémoire : 1024 MB
Statistiques

Det er $n$ punkter $P_1, P_2, \ldots, P_n$ i planet. VegiCat har $q$ spørringer til deg. Hver spørring gir et punkt $P$.

problem_23596_6ec10fe5fc25c17116e0feb55e9f3d78.png

For hver spørring, konstruer et enkelt polygon ved å bruke noen av de oppgitte punktene som hjørner. Polygonet må inneholde $P$ strengt på innsiden og ha minimum antall hjørner. Hvis det ikke finnes et slikt polygon, skriv ut $-1$.

Et enkelt polygon er en lukket polygonal kjede med minst tre forskjellige hjørner. Nabokanter krysser hverandre kun i sitt felles endepunkt, og ikke-nabokanter krysser ikke hverandre.

problem_23596_a5610273068183d75d3104e4c9c1d828.png

Eksempler på enkle og ikke-enkle polygoner

Inndata

Den første linjen inneholder et heltall $T$ ($1 \le T \le 2 \cdot 10^4$), antallet testtilfeller. Beskrivelsen av testtilfellene følger.

Den første linjen i hvert testtilfelle inneholder to positive heltall $n$ og $q$ ($3 \le n \le 10^5$, $1 \le q \le 10^5$), som representerer antallet oppgitte punkter og antallet spørringer.

Den $i$-te av de neste $n$ linjene inneholder to heltall $x_i$ og $y_i$ ($-10^9 \le x_i, y_i \le 10^9$), koordinatene til $P_i$. Det garanteres at disse $n$ punktene er parvis forskjellige.

Hver av de neste $q$ linjene inneholder to heltall $x$ og $y$ ($-10^9 \le x, y \le 10^9$), koordinatene til det forespurte punktet.

Det garanteres at summen av $n$ over alle testtilfeller ikke overstiger $10^5$.

Det garanteres at summen av $q$ over alle testtilfeller ikke overstiger $10^5$.

Utdata

For hver spørring, hvis det ikke finnes noe polygon som oppfyller kravene, skriv ut ett heltall $-1$ på en linje.

Ellers, skriv ut et polygon med minimum antall hjørner. På den første linjen, skriv ut ett heltall $m$, antallet hjørner.

På den andre linjen, skriv ut $m$ heltall $a_1, a_2, \ldots, a_m$ ($1 \le a_i \le n$), indeksene til hjørnene i rekkefølge. Polygonet er $P_{a_1} P_{a_2} \ldots P_{a_m}$. Hjørnene kan skrives ut enten med eller mot klokken.

Indeksene må være parvis forskjellige, og det utskrevne polygonet må være enkelt og inneholde det forespurte punktet strengt på innsiden. Hvis det finnes flere løsninger, skriv ut en hvilken som helst av dem.

Eksempler

Inndata 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

Merk

I det første testtilfellet inneholder trekanten $P_4 P_1 P_2$ det forespurte punktet $P = (0, 0)$ strengt på innsiden. Siden et polygon har minst tre hjørner, har denne trekanten minimum antall hjørner.

I det andre testtilfellet er det eneste mulige polygonet trekanten $P_1 P_2 P_3$. Det forespurte punktet $P = (0, 0)$ ligger på kanten $P_2 P_3$, så svaret er $-1$.

problem_23596_b7e688351da0758f2f7d7d3948442e24.png

Illustrasjoner av eksempeltesttilfellene

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.