Thứ Sáu, 6 tháng 11, 2015

KHÔI PHỤC ĐA GIÁC

Bờm vẽ trên mặt phẳng một hình đa giác tổng quát (đường gấp khúc khép kín không tự cắt) với các cạnh song song với các trục tọa độ và các đỉnh có tọa độ nguyên. Sau đó vì vô ý Bờm đã xóa mất tất cả các cạnh đứng (song song với trục tung) của đa giác. Bạn hãy tìm cách từ những thông tin còn lại trên hình vẽ giúp Bờm tính diện tích của đa giác ban đầu.
Dữ liệu vào: từ tệp văn bản POLYGON.INP
+ Dòng đầu tiên chứa N là số cạnh nằm ngang (cạnh song song với trục hoành) của đa giác đã cho (N≤1000)
+ Mỗi dòng trong số N dòng tiếp theo chứa thông tin về một cạnh nằm ngang của đa giác bao gồm 4 số nguyên x, y, u, v được ghi cách nhau bởi dấu cách, trong đó (x,y) và (u,v) là hai cặp tọa độ của hai đầu mút của cạnh nằm ngang. Giả thiết rằng các tọa độ là các số nguyên có giá trị tuyệt đối không quá 100.
Dữ liệu ra: ghi vào tệp văn bản POLYGON.OUT
+ Dòng đầu tiên ghi diện tích của đa giác                       
+ Dòng thứ i trong số 2*N dòng tiếp theo chứa tọa độ đỉnh thứ i của đa giác được liệt kê theo thứ tự đi vòng quanh đa giác theo chiều kim đồng hồ (đỉnh bắt đầu được chọn tùy ý)
Ví dụ:

POLYGON.INP
POLYGON.OUT
2
1 1 3 1
1 3 3 3
4
1 1
1 3
3 3
3 1

Không có nhận xét nào: