Sắp xếp theo góc
Xem dưới dạng PDF
Gửi bài giải
Điểm:
25
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
Trong một bài toán thị giác máy tính, Mai có một tập hợp các điểm trên mặt phẳng và muốn sắp xếp chúng theo thứ tự chiều kim đồng hồ xoay quanh gốc toạ độ.
Hãy giúp Mai viết chương trình sắp xếp \(n\) điểm theo góc quét từ hướng dương của trục \(Ox\) (góc \(0^\circ\)) ngược chiều kim đồng hồ đến \(360^\circ\).
Nếu hai điểm có cùng góc, điểm nào gần gốc toạ độ hơn sẽ đứng trước.
Định dạng đầu vào
- Dòng đầu chứa số nguyên \(n\) (\(1 \le n \le 10^5\)).
- \(n\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(x_i, y_i\) (\(-10^6 \le x_i, y_i \le 10^6\)), không có điểm nào trùng với gốc toạ độ.
Định dạng đầu ra
- In ra \(n\) dòng, mỗi dòng là toạ độ \(x_i, y_i\) của các điểm sau khi sắp xếp.
Ví dụ
Input:
3
0 1
1 0
-1 0
Output:
1 0
0 1
-1 0
Giải thích: Góc cực của \((1,0)\) là \(0^\circ\), của \((0,1)\) là \(90^\circ\), của \((-1,0)\) là \(180^\circ\).
Ràng buộc
- Subtask 1 (40 điểm): \(n \le 100\).
- Subtask 2 (60 điểm): \(n \le 10^5\).
Nhận xét