QOJ.ac

QOJ

Limite de temps : 2.0 s Limite de mémoire : 256 MB Points totaux : 100 Hackable ✓

#17777. 성도 재작성

Statistiques

빛의 해독 도전이 성공적으로 마무리되면서 홀로그램 빛의 나무가 완전히 밝혀졌고, 성대한 10주년 기념행사도 막을 내리고 있습니다. 행사의 마지막 순서로, 소 T와 소 S는 여러분을 밤하늘의 별자리가 그려진 디지털 화판 앞으로 초대했습니다.

세월이 흘러 과거에 그려졌던 별자리 선들은 시간의 흐름 속에 희미해졌고, 이제 화판에는 다시 외로운 별들만이 흩어져 있습니다. 소 S는 현장에 있는 모두에게 특수 제작된 별자리 펜을 건네며, 다시 이 별자리를 완성해 달라고 부탁했습니다. 재구성된 기념 별자리가 최고의 아름다움을 뽐낼 수 있도록, 별들을 연결할 때는 구조적 균형을 유지해야 합니다.

감미로운 선율과 함께 사람들은 하나둘씩 앞으로 나와, 이 별의 바다에서 가능한 한 많은 별자리를 밝혀 10주년 기념 파티의 가장 찬란한 대미를 장식하기를 희망합니다.

화판 위에는 $n$개의 별이 있으며, 이를 2차원 평면상의 점으로 간주할 수 있습니다. $i$번째 ($1 \le i \le n$) 별의 좌표는 $(x_i, y_i)$입니다. 모든 별의 $x$좌표는 서로 다르며, $y$좌표 또한 서로 다릅니다.

별자리를 그릴 때마다, $n$개의 별 중에서 세 개를 선택하여 삼각형을 만들어야 합니다. 균형 잡힌 아름다움을 위해, 이 삼각형은 특정 경계 조건을 만족해야 합니다. 즉, 네 변이 모두 좌표축과 평행한 직사각형이 존재하여, 삼각형의 세 꼭짓점이 정확히 이 직사각형의 경계 위에 놓여야 합니다. 동시에, 별자리의 명확한 구조를 유지하기 위해, 연결된 모든 삼각형의 내부 영역(꼭짓점과 경계 제외)은 서로 겹치지 않아야 합니다.

최대로 그릴 수 있는 별자리의 개수를 계산하고, 구체적인 그리기 방법을 출력하십시오.

입력

각 테스트 케이스에는 여러 개의 테스트 데이터가 포함되어 있습니다. 입력의 첫 번째 줄에는 테스트 데이터의 개수를 나타내는 정수 $T$ ($1 \le T \le 2 \times 10^4$)가 주어집니다. 각 테스트 데이터에 대하여:

  • 첫 번째 줄에는 별의 개수를 나타내는 정수 $n$ ($3 \le n \le 2 \times 10^5$)이 주어집니다.
  • 다음 $n$개의 줄에는 $i$번째 ($1 \le i \le n$) 별의 좌표를 나타내는 두 정수 $x_i, y_i$ ($|x_i|, |y_i| \le 10^9$)가 주어집니다. 모든 $x_i$는 서로 다르며, 모든 $y_i$는 서로 다름이 보장됩니다.

모든 테스트 데이터의 $n$의 합은 $2 \times 10^5$를 넘지 않습니다.

출력

각 테스트 데이터에 대하여:

  • 첫 번째 줄에 최대로 그릴 수 있는 별자리의 개수 $m$을 출력합니다.
  • 다음 $m$개의 줄에는 각각 하나의 별자리를 구성하는 세 별의 번호 $x, y, z$ ($1 \le x, y, z \le n$)를 출력합니다.

예제

입력 1

2
8
-10 1
-2 6
5 10
8 -9
-1 -2
3 0
0 3
1 -8
8
8 8
-5 3
-4 1
5 7
10 10
-3 5
-8 -10
-7 -1

출력 1

8
6 5 8
6 8 4
1 6 5
7 1 6
2 7 1
3 2 7
3 7 6
3 6 4
2
2 3 8
6 2 3

참고

첫 번째 테스트 데이터에 대하여, 예제 출력에서 그려진 별자리는 다음과 같습니다:

두 번째 테스트 데이터에 대하여, 예제 출력에서 그려진 별자리는 다음과 같습니다:

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#1608EditorialOpenNew Editorial for Problem #17777Anonymous2026-05-29 19:29:54View
#1598EditorialOpenOfficial EditorialAnonymous2026-04-28 21:49:17View

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.