Google Code Jam 2015 - Logging
Xem PDFMột khu rừng có \(N\) cây, mỗi cây là nơi ở của một chú sóc.
Biên của khu rừng là đa giác lồi có diện tích nhỏ nhất chứa mọi cây, giống như một sợi dây cao su khổng lồ được căng quanh phía ngoài khu rừng.
Nói chính xác, mỗi cây là một điểm trong không gian hai chiều, có tọa độ \((X_i,Y_i)\) riêng biệt, và biên là bao lồi của các điểm đó.
Một số cây nằm trên biên khu rừng, nghĩa là chúng nằm trên một cạnh hoặc một đỉnh của đa giác. Các chú sóc muốn biết cây của mình gần với việc nằm trên biên đến mức nào.
Lần lượt từng chú sóc trèo xuống khỏi cây, quan sát khu rừng và xác định số cây ít nhất cần bị chặt để cây của chính nó nằm trên biên. Sau đó, nó ghi con số ấy lên một khúc gỗ.
Hãy xác định danh sách các số được ghi trên khúc gỗ.
Dữ liệu vào
Dòng đầu tiên chứa số bộ test \(T\). Mỗi bộ test gồm một dòng chứa số nguyên \(N\), là số cây, tiếp theo là \(N\) dòng, mỗi dòng chứa hai số nguyên cách nhau bởi dấu cách \(X_i\) và \(Y_i\), là tọa độ của một cây. Không có hai cây nào có cùng tọa độ.
Dữ liệu ra
Với mỗi bộ test, in một dòng Case #x:, sau đó là \(N\) dòng, mỗi dòng chứa một số nguyên; dòng thứ \(i\) là số cây mà chú sóc sống trên cây \(i\) cần chặt.
Ràng buộc
- \(-10^6 \le X_i,Y_i \le 10^6\).
Phân nhóm
- Nhỏ: \(1 \le T \le 100\); \(1 \le N \le 15\).
- Lớn: \(1 \le T \le 14\); \(1 \le N \le 3000\).
Điểm các phân nhóm
Mỗi Test Set tương ứng với một subtask trên LQDOJ. Bảng dưới đây giữ nguyên điểm chính thức của Google Code Jam và quy đổi tỷ lệ trên tổng điểm của bài.
| Phân nhóm | Điểm Google Code Jam | Tỷ lệ điểm của bài |
|---|---|---|
| Test Set 1 | 18/52 | 34,62% |
| Test Set 2 | 34/52 | 65,38% |
Ví dụ
Ví dụ 1
Input
2
5
0 0
10 0
10 10
0 10
5 5
9
0 0
5 0
10 0
0 5
5 5
10 5
0 10
5 10
10 10
Output
Case #1:
0
0
0
0
1
Case #2:
0
0
0
0
3
0
0
0
0
Note
Trong test đầu tiên, bốn cây tạo thành một hình vuông và cây thứ năm nằm bên trong. Vì bốn cây đầu đã ở trên biên, mỗi chú sóc trên các cây đó ghi 0. Vì cần chặt một cây để cây thứ năm nằm trên biên, chú sóc thứ năm ghi 1.
Nguồn
Google Code Jam 2015, Vòng 1A, bài Logging.
Nguồn chính thức trên Google Coding Competitions Archive, phát hành theo giấy phép Apache-2.0.
Kỳ thi:
- Google Code Jam 2015 - Round 1A (18 Tháng tư, 2015)
Bình luận