Karena besok adalah tanggal 4 Mei, di sini ada posting bertema Star Wars kecil untuk mempersiapkan Anda secara mental terhadap semua lelucon buruk yang akan terjadi besok.
BACKSTORY
Selama sesi senat galaksi semua senator duduk di n*n
kotak. Tiba-tiba wabah flu JarJar (yang berlangsung selamanya dan menyebabkan orang yang terinfeksi berbicara seperti JarJar Binks) menyebabkan beberapa senator terinfeksi.
Berikut ini contoh dengan 6*6
kisi di mana X
senator yang terinfeksi, daftar terkait adalah [[0,5],[1,4],[2,3],[2,1],[3,3],[3,0],[4,5],[0,5]]
::
Setelah itu infeksi mulai menyebar langkah demi langkah. Dua senator berbatasan jika mereka berbagi seluruh tepi pada kisi (yaitu, atas, bawah, kanan, kiri), yang berarti kita mengecualikan diagonal.
Kami dapat menyimpulkan bahwa seorang senator dapat bersebelahan dengan 2,3 atau 4 senator lainnya dan mengklaim aturan infeksi berikut:
- Seorang senator yang telah terinfeksi tetap terinfeksi selamanya
- Seorang senator terinfeksi pada suatu langkah jika ia berdekatan dengan 2 atau lebih senator yang terinfeksi pada langkah sebelumnya
Berikut ini contoh dengan kisi sebelumnya yang menunjukkan 2 langkah pertama infeksi:
Setelah langkah selanjutnya semua senat akan terinfeksi
TUGAS ANDA
Kode Anda tidak perlu menangani input yang tidak valid seperti daftar yang lebih besar dari n*n
atau koordinat yang tidak berbeda.
Kode Anda akan dimasukkan sebagai input daftar pasangan bilangan bulat (atau kisi biner atau format lain yang sesuai dengan bahasa Anda) dan bilangan bulat n
(yang tidak perlu jika Anda menggunakan format lain selain daftar), misalnya:
8 [[1,2],[1,1],[7,4],[2,7],[4,3]]
n menjadi sisi dari kisi yang berarti kisi akan menjadi kisi * n, dan daftar pasangan bilangan bulat menjadi koordinat sel-sel dari senator yang terinfeksi secara resmi.
Kiri bawah grid adalah [0,0] dan kanan atas adalah [n-1, n-1]. Kiri atas adalah [0, n-1].
Kode Anda harus menampilkan bilangan bulat:
-1
atau nilai palsu atau kesalahan jika seluruh jaringan tidak akan pernah sepenuhnya terinfeksi atau jumlah langkah minimum yang diperlukan untuk menginfeksi seluruh jaringan
Uji kasus
6 [[0,5],[1,4],[2,3],[2,1],[3,3],[3,0],[4,5],[5,0]] => 7
4 [[1,1][0,3][1,0][3,0][3,3]] => 9
Ingat bahwa ini adalah kode-golf , sehingga jawaban terpendek dalam byte menang!
n
? Apakah ada nilai maksimal?
CellularAutomaton
...