IOI 2004 - Polygon

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Output
Điểm: 2400 (p) Thời gian: 3.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Một đa giác gồm tất cả các điểm nằm trên biên hoặc trong miền được biên bao quanh. Đa giác lồi có tính chất: với hai điểm bất kỳ thuộc đa giác, đoạn thẳng nối chúng cũng nằm trong đa giác.

Trong bài này, mọi đa giác đều lồi, có ít nhất hai đỉnh, các đỉnh đôi một khác nhau và có tọa độ nguyên; không có ba đỉnh nào thẳng hàng. Một đoạn thẳng được coi là đa giác có hai đỉnh.

Tổng Minkowski của hai đa giác \(A,B\) là tập hợp tất cả các điểm \((x_1+x_2,y_1+y_2)\), với \((x_1,y_1)\) thuộc \(A\)\((x_2,y_2)\) thuộc \(B\). Tổng Minkowski của hai đa giác cũng là một đa giác. Hình dưới minh họa hai tam giác và tổng Minkowski của chúng.

Cho đa giác \(P\), hãy tìm hai đa giác \(A,B\) sao cho:

  • \(P\) là tổng Minkowski của \(A\)\(B\).
  • \(A\) có từ 2 đến 4 đỉnh, tức là một đoạn thẳng, tam giác hoặc tứ giác.
  • Số đỉnh của \(A\) lớn nhất có thể: ưu tiên tứ giác; nếu không thể thì chọn tam giác; nếu cả hai đều không thể thì chọn đoạn thẳng.

Cả \(A\) lẫn \(B\) đều không thể bằng \(P\), vì khi đó đa giác còn lại phải là một điểm, mà một điểm không phải là đa giác hợp lệ trong bài này.

Đây là bài chỉ nộp kết quả. Với mỗi tệp dữ liệu vào được cung cấp, hãy tạo tệp kết quả mô tả \(A\)\(B\). Không nộp chương trình. Mỗi dữ liệu vào đều có ít nhất một cách phân tích hợp lệ; nếu có nhiều kết quả tối ưu, có thể chọn bất kỳ kết quả nào.

Dữ liệu vào

Có 10 tệp polygon1.in đến polygon10.in. Số trong tên tệp là số thứ tự của bộ dữ liệu.

  • Dòng đầu chứa số nguyên \(N\), số đỉnh của \(P\).
  • \(N\) dòng tiếp theo liệt kê các đỉnh theo chiều ngược kim đồng hồ. Dòng \(i+1\) chứa hai số nguyên \(X_i,Y_i\), là tọa độ đỉnh thứ \(i\), cách nhau bởi một dấu cách.
  • Mọi tọa độ trong dữ liệu vào đều là số nguyên không âm.

Dữ liệu ra

Nộp 10 tệp kết quả tương ứng với 10 tệp dữ liệu vào. Tệp kết quả cho bộ dữ liệu số \(I\) phải có dòng đầu là #FILE polygon I, trong đó \(1\le I\le10\).

  • Dòng thứ hai chứa số nguyên \(N_A\), số đỉnh của \(A\), với \(2\le N_A\le4\).
  • \(N_A\) dòng tiếp theo chứa tọa độ các đỉnh của \(A\) theo chiều ngược kim đồng hồ, mỗi dòng hai số nguyên \(X,Y\) cách nhau bởi một dấu cách. Đỉnh thứ \(i\) nằm ở dòng \(i+2\).
  • Dòng \(N_A+3\) chứa số nguyên \(N_B\), số đỉnh của \(B\), với \(N_B\ge2\).
  • \(N_B\) dòng tiếp theo chứa tọa độ các đỉnh của \(B\) theo chiều ngược kim đồng hồ, mỗi dòng hai số nguyên \(X,Y\) cách nhau bởi một dấu cách. Đỉnh thứ \(j\) nằm ở dòng \(N_A+j+3\).

Trong phiên bản trên LQDOJ, mọi tọa độ trong dữ liệu ra phải thỏa mãn \(-10^{18}\le X,Y\le10^{18}\). Đây là giới hạn bổ sung so với đề gốc. Với mỗi bộ dữ liệu được cung cấp, tồn tại kết quả tối ưu thỏa mãn giới hạn này.

Phân nhóm

Có 10 bộ dữ liệu, mỗi bộ có số điểm tối đa là 10.

Ví dụ

Ví dụ 1

Input
5
0 1
0 0
2 0
2 1
1 2
Output
#FILE polygon 0
3
0 0
2 0
1 1
2
0 1
0 0
Output
#FILE polygon 0
3
0 0
1 0
1 1
3
0 1
0 0
1 0
Giải thích

Cả hai kết quả đều đúng: trong ví dụ này, \(A\) có thể là tam giác nhưng không thể là tứ giác. Bộ dữ liệu minh họa có số thứ tự \(0\).

Tệp

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: