BOI 2005 - Polygon
Xem PDFHãy dựng một đa giác lồi có các độ dài cạnh cho trước. Trong bài này, một đa giác được coi là lồi khi mọi góc trong đều lớn hơn nghiêm ngặt \(0^\circ\) và nhỏ hơn nghiêm ngặt \(180^\circ\).
Dữ liệu vào
Dòng đầu chứa số nguyên \(N\) (\(3 \le N \le 1000\)), số đỉnh của đa giác. Mỗi dòng trong \(N\) dòng tiếp theo chứa một số nguyên \(a_i\) (\(1 \le a_i \le 10\,000\)), là độ dài một cạnh.
Dữ liệu ra
Nếu dựng được đa giác, in đúng \(N\) dòng. Dòng thứ \(i\) chứa hai số thực \(x_i,y_i\) (\(|x_i|,|y_i| \le 10\,000\,000\)). Nối \((x_i,y_i)\) với \((x_{i+1},y_{i+1})\) cho \(1 \le i<N\), rồi nối \((x_N,y_N)\) với \((x_1,y_1)\), phải thu được một đa giác lồi. Độ dài các cạnh phải bằng các số trong dữ liệu vào, nhưng không nhất thiết theo cùng thứ tự. Có thể liệt kê các đỉnh theo chiều kim đồng hồ hoặc ngược chiều kim đồng hồ.
Nếu không dựng được, in một dòng NO SOLUTION.
Hai độ dài được coi là bằng nhau nếu chênh lệch nhỏ hơn \(0.001\). Có thể dùng mọi định dạng số thực tiêu chuẩn.
Ví dụ
Ví dụ 1
Input
4
7
4
5
4
Output
0.5 2.5
7.5 2.5
4.5 6.5
0.5 6.5
Kỳ thi:
- BOI 2005 - Ngày 2 (8 Tháng năm, 2005)
Bình luận