Chandler kecil sedih. Gambarkan dia awan untuk menghiburnya.
Catatan: Menggambar awan tidak akan benar-benar menghiburnya.
Lingkaran dapat didefinisikan sebagai 3-tupel di (x,y,r)
mana x
posisi x lingkaran pada bidang Cartesius, y
adalah posisi y lingkaran pada bidang Cartesius, dan r
merupakan jari-jari lingkaran. x
dan y
mungkin negatif. r
selalu positif. Input adalah daftar lingkaran dalam bentuk 3-tupel yang dipisahkan ruang. Misalnya:
3,1,1 3,2,1.5 1,2,0.7 0.9,1.2,1.2 1,0,0.8
The 3,1,1
berarti "Sebuah lingkaran dengan titik pusat di 3,1
dengan 1 jari-jari. 3,2,1.5
Berarti" Sebuah lingkaran dengan titik pusat di 3,2
dengan radius 1,5.
Jika kita menggambar semua lingkaran input pada grafik, sepertinya ini (saya sudah memasukkan garis kotak dan label untuk kejelasan saja; mereka tidak diperlukan):
Perhatikan bagaimana semua lingkaran itu kohesif . Yaitu, mereka semua tumpang tindih bersama sehingga membentuk satu kelompok besar tanpa kelompok lingkaran kecil yang terpisah dari yang lainnya. Masukan dijamin kohesif.
Misalkan sekarang kita menggambar garis yang bergerak di sekitar "perbatasan" yang dibentuk oleh lingkaran-lingkaran ini, tanpa garis lainnya. Itu akan seperti menggambar batas siluet yang dibentuk oleh semua lingkaran. Cloud yang dihasilkan akan terlihat seperti ini:
Jadi awan ini telah dibentuk dengan menggambar hanya busur lingkaran di input yang membentuk perbatasan, sehingga menghasilkan bentuk tunggal. Dengan kata lain, awan dibentuk dengan hanya menggambar busur yang tidak berada dalam lingkaran lain. Program Anda akan menerima input dalam bentuk yang dijelaskan di atas, dan menampilkan gambar yang menampilkan cloud yang dihasilkan. Bentuk keseluruhan awan harus benar, tetapi skala, warna, ketebalan garis, dan bagaimana tampilannya pada titik terserah Anda. Perhatikan bahwa cloud harus terlihat, sehingga Anda tidak dapat menarik sesuatu seperti "Program ini menggambar awan putih pada latar belakang putih", "Program ini menggambar cloud pada skala yang sangat kecil", "Program ini menggambar cloud dengan 0 ketebalan garis ", dll. Juga perhatikan bahwa warna batas harus berbeda dari warna isi atau latar belakang.
Contoh lain. Memasukkan:
1,4,2 5,2,1 3,1,1 3.5,2,1.2 3,3,0.7 1,2,0.7
Keluaran:
Jika ada "lubang" di awan, Anda harus menggambar lubang itu juga. Memasukkan:
0,5,4 3,4,4 4,3,4 5,0,4 4,-3,4 3,-4,4 0,-5,4 -3,-4,4 -4,-3,4 -5,0,4 -4,3,4 -3,4,4
Keluaran:
Berikut ini aturan penting: program Anda harus hanya menggambar garis yang membentuk perbatasan. Ini berarti bahwa Anda TIDAK BISA menggambar lingkaran sepenuhnya, dan kemudian menggambar lingkaran sedikit lebih kecil dengan isian putih - karena metode itu masih menarik garis yang tidak membentuk perbatasan, itu hanya akan menutupi mereka setelah itu. Tujuan aturan ini adalah untuk mencegah implementasi "gambar lingkaran, lalu gambar lingkaran lagi dengan isian putih", atau yang serupa dengan itu. Jawabannya diharapkan benar-benar menghitung tempat menggambar sebelum menggambarnya.
Ini adalah kode golf, sehingga jumlah karakter terpendek menang.