QOJ.ac

QOJ

時間限制: 2.0 s 記憶體限制: 256 MB 總分: 100 可 Hack ✓

#17777. Przerysowywanie mapy gwiazd

统计

Tło problemu

Wraz z pomyślnym zakończeniem wyzwania „Świetlne szyfry”, drzewo holograficzne zostało w pełni rozświetlone, a wielka gala z okazji dziesięciolecia powoli dobiega końca. Jako ostatni punkt programu, mały T i mały S zaprosili wszystkich przed cyfrową tablicę, na której odwzorowano mapę nieba.

Z biegiem czasu narysowane wcześniej linie gwiazdozbiorów wyblakły, a tablica powróciła do stanu, w którym widoczne są jedynie odizolowane gwiazdy. Mały S wręczył wszystkim specjalne pisaki do map nieba, mając nadzieję, że uda się wspólnie uzupełnić ten obraz. Aby odtworzona pamiątkowa mapa nieba prezentowała się niezwykle estetycznie, podczas łączenia gwiazd należy zachować równowagę strukturalną.

Przy dźwiękach kojącej melodii uczestnicy podchodzą do tablicy, mając nadzieję, że uda im się rozświetlić jak najwięcej gwiazdozbiorów, pozostawiając po sobie najwspanialsze zwieńczenie tej jubileuszowej wieczornej gali.

Na tablicy znajduje się $n$ gwiazd, które można traktować jako punkty na płaszczyźnie dwuwymiarowej. $i$-ta gwiazda ($1 \le i \le n$) ma współrzędne $(x_i, y_i)$. Wiadomo, że wszystkie współrzędne $x_i$ są parami różne, podobnie jak wszystkie współrzędne $y_i$.

Przy każdym rysowaniu gwiazdozbioru należy wybrać trzy gwiazdy spośród $n$ dostępnych i połączyć je parami, tworząc trójkąt. Aby zachować estetykę równowagi, trójkąt ten musi spełniać określony wymóg brzegowy: istnieje prostokąt, którego wszystkie cztery boki są równoległe do osi układu współrzędnych, taki że wszystkie trzy wierzchołki trójkąta leżą dokładnie na brzegach tego prostokąta. Jednocześnie, aby zachować przejrzystą strukturę mapy gwiazd, wnętrza wszystkich narysowanych trójkątów (niezawierające wierzchołków ani krawędzi) muszą być parami rozłączne.

Oblicz maksymalną liczbę gwiazdozbiorów, które można narysować, i podaj konkretny plan rysowania.

Każdy zestaw danych zawiera wiele przypadków testowych. Pierwsza linia wejścia zawiera liczbę całkowitą $T$ ($1 \le T \le 2 \times 10^4$), określającą liczbę przypadków testowych. Dla każdego przypadku testowego:

  • Pierwsza linia zawiera liczbę całkowitą $n$ ($3 \le n \le 2 \times 10^5$), oznaczającą liczbę gwiazd.
  • Następnie $n$ linii, z których $i$-ta ($1 \le i \le n$) zawiera dwie liczby całkowite $x_i, y_i$ ($|x_i|, |y_i| \le 10^9$), oznaczające współrzędne $i$-tej gwiazdy. Gwarantuje się, że wszystkie $x_i$ są parami różne oraz wszystkie $y_i$ są parami różne.

Suma $n$ we wszystkich przypadkach testowych nie przekracza $2 \times 10^5$.

Dla każdego przypadku testowego:

  • W pierwszej linii wypisz liczbę całkowitą nieujemną $m$, oznaczającą maksymalną liczbę gwiazdozbiorów, które można narysować.
  • W kolejnych $m$ liniach wypisz po trzy różne liczby całkowite $x, y, z$ ($1 \le x, y, z \le n$), oznaczające trzy gwiazdy tworzące dany gwiazdozbiór.

Przykład

Wejście 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

Wyjście 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

Uwagi

Dla pierwszego zestawu danych, narysowany gwiazdozbiór wygląda następująco:

Dla drugiego zestawu danych, narysowany gwiazdozbiór wygląda następująco:

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.