Tantangan
Anda harus menulis program lengkap yang mengambil tujuh angka dari STDIN, dan mencetak sejarah dua dimensi dari automaton seluler (CA) ke STDOUT. Ini golf kode.
Pemformatan Input Input akan terdiri dari tujuh bilangan bulat / string yang dipisahkan oleh koma. Angka pertama adalah jumlah aturan menurut kode Wolfram (nama standar untuk setiap aturan). Yang kedua adalah konfigurasi awal awal. Yang ketiga dan keempat menggambarkan pola apa dan berapa kali harus ditambahkan ke kiri konfigurasi awal. sebagai padding. Yang kelima dan keenam melakukan hal yang sama untuk sisi kanan. Angka terakhir adalah jumlah generasi untuk menjalankan simulasi.
Jadi, contoh inputnya adalah 90,11,0,4,0,4,5
. Ini akan memberi tahu program Anda bahwa Anda menjalankan aturan 90 . Itu juga harus memberitahu program bahwa Anda ingin konfigurasi awal 11
dengan string 0
ditambahkan 4 kali untuk kedua ujungnya, sehingga pola awal yang sebenarnya adalah 0000110000
. Ini juga memberi tahu program Anda untuk menjalankan simulasi ini selama 5 generasi.
Output Program Anda harus mencetak seluruh array sel setiap generasi (dipisahkan oleh baris baru), sehingga outputnya adalah diagram ruang-waktu dari CA. Untuk setiap generasi, keadaan setiap sel ditentukan oleh keadaannya dan keadaan sel di sebelah kiri dan kanan langsung, sesuai dengan aturan yang diberikan sebagai input. Simulasi harus membungkus ujung-ujungnya. Hal pertama yang dicetak haruslah array awal sebagai gen. 0.
Input 90,11,0,4,0,4,5
harus menghasilkan output berikut setepat mungkin.
0000110000
0001111000
0011001100
0111111110
1100000011
0110000110
Perhatikan bahwa kondisi awal tidak termasuk dalam lima generasi. Perhatikan juga bahwa simulasi membungkus ujung-ujungnya.
Lebih banyak contoh
memasukkan:
184,1100,01,2,01,1,4
keluaran:
0101110001
1011101000
0111010100
0110101010
0101010101
memasukkan:
0,1011,1,0,0,1,2
keluaran:
10110
00000
00000
Informasi lebih lanjut tentang cara kerja 1D CA dan bagaimana mereka diberi nomor