Khó khăn trong việc chia sẻ pizza với bạn bè là khó có thể đảm bảo rằng tất cả mọi người đều nhận được cùng một lượng pepperoni trên lát của họ. Vì vậy, nhiệm vụ của bạn là quyết định làm thế nào để cắt một chiếc bánh pizza để mọi người đều vui vẻ.
Hướng
Viết một chương trình, đưa ra một danh sách các vị trí của pepperonis trên một chiếc bánh pizza hình tròn và số lát cắt được tạo ra, đưa ra một danh sách các góc mà chiếc bánh pizza nên được cắt sao cho mỗi lát có cùng một lượng pepperoni nó
- Bánh pizza chỉ có một topping: pepperoni.
- Bạn bè của bạn không quan tâm đến kích thước của lát cắt của họ, chỉ là họ không bị lừa bởi bất kỳ pepperoni nào.
- Bánh pizza là một vòng tròn tập trung vào nguồn gốc
(0, 0)
và với bán kính là1
. - Pepperonis là các vòng tròn được căn giữa ở bất cứ nơi nào đầu vào nói rằng chúng nằm ở giữa và có bán kính là
0.1
- Lấy đầu vào dưới dạng một số nguyên biểu thị số lát cắt được tạo và danh sách các cặp theo thứ tự đại diện cho các vị trí của pepperonis trên hệ tọa độ cartesian. (Trong bất kỳ định dạng hợp lý)
- Đầu ra phải là một danh sách các góc được cho bằng radian đại diện cho các vị trí của "vết cắt" đối với pizza (trong phạm vi
0 <= a < 2pi
). (Trong bất kỳ định dạng hợp lý nào) (Độ chính xác phải đạt tối thiểu+/- 1e-5
.) - Bạn có thể có một phần của pepperoni trên một lát (ví dụ: Nếu một chiếc bánh pizza có một pepperoni trên đó và nó cần được chia cho 10 người, hãy cắt pizza mười lần, tất cả các lát cắt qua pepperoni. Nhưng hãy chắc chắn rằng nó công bằng !)
- Một vết cắt có thể (có thể phải) cắt qua nhiều pepperonis.
- Pepperonis có thể chồng lên nhau.
Ví dụ
Đầu vào:
8 people, pepperonis: (0.4, 0.2), (-0.3, 0.1), (-0.022, -0.5), (0.3, -0.32)
Đầu ra hợp lệ có thể:
slices at:
0, 0.46365, 0.68916, 2.81984, 3.14159, 4.66842, 4.86957, 5.46554
Dưới đây là một hình dung của ví dụ này (mọi người đều nhận được một nửa pepperoni):
Ví dụ khác:
Input: 9 people, 1 pepperoni at: (0.03, 0.01)
Output: 0, 0.4065, 0.8222, 1.29988, 1.94749, 3.03869, 4.42503, 5.28428, 5.83985
Input: 5, (0.4, 0.3), (0.45, 0.43), (-0.5, -0.04)
Output: 0, 0.64751, 0.73928, 0.84206, 3.18997
Chấm điểm
Đây là mã golf , vì vậy số byte ít nhất sẽ thắng.