Ada virus di dalam penerima 5x5. Seperti yang kita ketahui bagaimana ia menyebarkan kontaminasi, misi Anda adalah menghasilkan tahap terakhir kontaminasi.
Penerima
Ini akan direpresentasikan sebagai array dua dimensi 5x5:
0 0 0 0 1
0 0 0 0 1
0 0 0 1 1
0 0 1 1 1
0 1 1 1 1
Dimana 1
artinya posisi di mana virus sudah terkontaminasi, dan 0
posisi tidak terkontaminasi.
Bagaimana virus menyebar
- Posisi yang terkontaminasi tidak dapat dibersihkan.
- Posisi bersih akan terkontaminasi pada tahap berikutnya hanya jika setidaknya dua posisi yang berdekatan (sel utara, timur, selatan dan barat) terkontaminasi.
- Tahap terakhir dari kontaminasi terjadi ketika tidak ada lagi sel yang bersih yang dapat terkontaminasi.
Sampel
Menggunakan sebagai tahap 1 dari kontaminasi penerima yang dijelaskan di atas, tahap 2 akan:
0 0 0 0 1
0 0 0 1 1
0 0 1 1 1
0 1 1 1 1
0 1 1 1 1
Tahap 3 dari kontaminasi adalah:
0 0 0 1 1
0 0 1 1 1
0 1 1 1 1
0 1 1 1 1
0 1 1 1 1
Tahap 4 dari kontaminasi adalah:
0 0 1 1 1
0 1 1 1 1
0 1 1 1 1
0 1 1 1 1
0 1 1 1 1
Dan tahap 5 (dalam contoh ini, yang terakhir) adalah:
0 1 1 1 1
0 1 1 1 1
0 1 1 1 1
0 1 1 1 1
0 1 1 1 1
Tantangan
Diberikan sebagai input satu tahap kontaminasi, Anda harus menampilkan tahap terakhir kontaminasi.
Anda diperbolehkan menulis program atau fungsi lengkap. Anda dapat mengambil input sebagai array / daftar, sebagai angka yang dipisahkan, atau bahkan sebagai string. Pilih cara terbaik yang sesuai dengan bahasa Anda.
Jawaban terpendek dalam byte menang!
Kasus uji lain
Input:
1 1 0 0 1
0 0 0 0 0
0 1 0 0 1
0 0 0 0 0
1 0 0 0 1
Output:
1 1 0 0 1
1 1 0 0 1
1 1 0 0 1
1 1 0 0 1
1 1 0 0 1
Input:
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
Output:
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
Input:
1 0 0 1 0
0 0 1 0 1
0 0 0 0 0
1 0 0 0 0
0 0 1 0 0
Output:
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
Input:
0 1 0 0 0
0 0 0 0 1
0 0 1 0 0
1 0 0 0 0
0 0 0 1 0
Output:
0 1 0 0 0
0 0 0 0 1
0 0 1 0 0
1 0 0 0 0
0 0 0 1 0
1 0 0 1 0 \ 0 0 1 0 1 \ 0 0 0 0 0 \ 1 0 0 0 0 \ 0 0 1 0 0
sebagai test case?
0 1 0 0 0 \ 0 0 0 0 1 \ 0 0 1 0 0 \ 1 0 0 0 0 \ 0 0 0 1 0
, yang tetap tidak berubah.
1 0 1
terjadi pada output? Bukankah pusat nol bersebelahan dengan dua1
s?