QOJ.ac

QOJ

حد الوقت: 2.0 s حد الذاكرة: 256 MB مجموع النقاط: 100 قابلة للهجوم ✓

#17777. Перерисовка звездной карты

الإحصائيات

На доске расположены $n$ звезд, которые можно рассматривать как точки на двумерной плоскости. Координаты $i$-й звезды ($1 \le i \le n$) равны $(x_i, y_i)$. Известно, что все абсциссы звезд попарно различны, и все ординаты звезд также попарно различны.

При каждом рисовании созвездия вам нужно выбрать три звезды из этих $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$), координаты $i$-й звезды. Гарантируется, что все $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.