QOJ.ac

QOJ

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

#17777. Vẽ lại bản đồ sao

الإحصائيات

Trên bảng vẽ có $n$ ngôi sao, có thể coi là các điểm trên mặt phẳng tọa độ hai chiều. Ngôi sao thứ $i$ ($1 \le i \le n$) có tọa độ là $(x_i, y_i)$. Biết rằng tất cả các hoành độ của các ngôi sao đều khác nhau từng đôi một, và tất cả các tung độ cũng khác nhau từng đôi một.

Mỗi khi vẽ một chòm sao, bạn cần chọn ra ba ngôi sao từ $n$ ngôi sao này và nối chúng lại với nhau để tạo thành một hình tam giác. Để thể hiện vẻ đẹp của sự cân bằng, hình tam giác này phải thỏa mãn yêu cầu biên cụ thể: tồn tại một hình chữ nhật có bốn cạnh song song với các trục tọa độ sao cho cả ba đỉnh của tam giác đều nằm chính xác trên biên của hình chữ nhật đó. Đồng thời, để duy trì cấu trúc rõ ràng của bản đồ sao, vùng bên trong của tất cả các tam giác được tạo ra (không bao gồm các đỉnh và cạnh) phải không được giao nhau từng đôi một.

Hãy tính toán số lượng chòm sao tối đa có thể vẽ thành công và đưa ra một phương án vẽ cụ thể.

Dữ liệu vào

Mỗi tệp dữ liệu chứa nhiều bộ dữ liệu thử nghiệm. Dòng đầu tiên chứa một số nguyên dương $T$ ($1 \le T \le 2 \times 10^4$), biểu thị số lượng bộ dữ liệu. Đối với mỗi bộ dữ liệu:

  • Dòng đầu tiên chứa một số nguyên dương $n$ ($3 \le n \le 2 \times 10^5$), biểu thị số lượng ngôi sao.
  • $n$ dòng tiếp theo, dòng thứ $i$ ($1 \le i \le n$) chứa hai số nguyên $x_i, y_i$ ($|x_i|, |y_i| \le 10^9$), biểu thị tọa độ của ngôi sao thứ $i$. Đảm bảo tất cả $x_i$ khác nhau từng đôi một, và tất cả $y_i$ khác nhau từng đôi một.

Đảm bảo tổng $n$ trong tất cả các bộ dữ liệu không vượt quá $2 \times 10^5$.

Dữ liệu ra

Đối với mỗi bộ dữ liệu:

  • Dòng đầu tiên xuất ra một số nguyên không âm $m$, biểu thị số lượng chòm sao tối đa có thể vẽ.
  • $m$ dòng tiếp theo, mỗi dòng xuất ra ba số nguyên dương khác nhau $x, y, z$ ($1 \le x, y, z \le n$), biểu thị ba ngôi sao tạo thành một chòm sao.

Ví dụ

Dữ liệu vào 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

Dữ liệu ra 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

Ghi chú

Đối với bộ dữ liệu thử nghiệm đầu tiên, bản đồ sao được vẽ trong ví dụ đầu ra như hình dưới đây:

Đối với bộ dữ liệu thử nghiệm thứ hai, bản đồ sao được vẽ trong ví dụ đầu ra như hình dưới đây:

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.