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

Không có ý kiến tại thời điểm này.