Kesulitan berbagi pizza dengan teman-teman adalah sulit untuk memastikan bahwa setiap orang mendapatkan jumlah pepperoni yang sama pada potongan mereka. Jadi, tugas Anda adalah memutuskan cara mengiris pizza agar semua orang senang.
Petunjuk arah
Tulis sebuah program yang, diberi daftar posisi pepperonis pada pizza bundar dan jumlah irisan yang akan dibuat, menampilkan daftar sudut tempat pizza harus dipotong sehingga setiap irisan memiliki jumlah pepperoni yang sama pada Itu.
- Pizza hanya memiliki satu topping: pepperoni.
- Teman Anda tidak peduli tentang ukuran irisan mereka, hanya saja mereka tidak tertipu oleh pepperoni apa pun.
- Pizza adalah lingkaran yang berpusat pada titik asal
(0, 0)
dan dengan jari-jari1
. - Pepperonis adalah lingkaran yang berpusat di mana pun input mengatakan mereka berpusat dan memiliki jari-jari
0.1
- Ambil input sebagai bilangan bulat yang mewakili jumlah irisan yang akan dibuat dan daftar pasangan berurutan yang mewakili posisi pepperonis pada sistem koordinat kartesius. (Dalam format apa pun yang masuk akal)
- Keluaran harus berupa daftar sudut yang diberikan dalam radian yang mewakili posisi "pemotongan" ke pizza (dalam kisaran
0 <= a < 2pi
). (Dalam format apa pun yang masuk akal) (Presisi setidaknya harus+/- 1e-5
.) - Anda dapat memiliki sebagian potongan pepperoni di sepotong (mis. Jika pizza memiliki satu pepperoni di atasnya dan perlu dibagi oleh 10 orang, potong pizza sepuluh kali, semua potongan mengiris pepperoni. Tetapi pastikan itu adil !)
- Potongan dapat (mungkin harus) mengiris beberapa pepperonis.
- Pepperonis mungkin tumpang tindih.
Contohnya
Memasukkan:
8 people, pepperonis: (0.4, 0.2), (-0.3, 0.1), (-0.022, -0.5), (0.3, -0.32)
Kemungkinan hasil yang valid:
slices at:
0, 0.46365, 0.68916, 2.81984, 3.14159, 4.66842, 4.86957, 5.46554
Berikut adalah visualisasi dari contoh ini (setiap orang mendapat setengah pepperoni):
Lebih banyak contoh:
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
Mencetak gol
Ini adalah kode-golf , jadi paling tidak jumlah byte yang menang.