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

각 쿼리에 대해, 주어진 점들 중 일부를 꼭짓점으로 사용하여 단순 다각형을 하나 만드세요. 이 다각형은 점 $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$)가 주어집니다.

다음 $n$개의 줄 중 $i$번째 줄에는 $P_i$의 좌표를 나타내는 두 정수 $x_i$와 $y_i$ ($-10^9 \le x_i, y_i \le 10^9$)가 주어집니다. 이 $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.