La sfida
Devi scrivere un programma completo che prende sette numeri da STDIN e stampa la storia bidimensionale dell'automa cellulare (CA) su STDOUT. Questo è il codice golf.
Formattazione dell'input L'input sarà di sette numeri interi / stringhe separati da virgole. Il primo numero è il numero della regola in base al codice Wolfram (il nome standard per ciascuna regola). La seconda è la configurazione iniziale iniziale. Il terzo e il quarto descrivono quale modello e quante volte deve essere aggiunto a sinistra della configurazione iniziale. come imbottitura. Il quinto e il sesto fanno lo stesso per il lato destro. L'ultimo numero è il numero di generazioni per eseguire la simulazione.
Quindi, un esempio di input è 90,11,0,4,0,4,5
. Questo dovrebbe dire al tuo programma che stai eseguendo la regola 90 . Dovrebbe anche indicare al programma che si desidera che la configurazione iniziale sia 11
con la stringa 0
aggiunta 4 volte ad entrambe le estremità, quindi il modello iniziale effettivo è 0000110000
. Indica inoltre al programma di eseguire questa simulazione per 5 generazioni.
Output Il programma deve stampare l'intera matrice di celle ogni generazione (separate da nuove righe), in modo che l'output sia il diagramma spazio-temporale della CA. Per ogni generazione, lo stato di ogni cella è determinato dal suo stato e dagli stati delle celle a sinistra e a destra immediate, secondo la regola fornita come input. La simulazione dovrebbe avvolgere i bordi. La prima cosa stampata dovrebbe essere l'array iniziale come gen. 0.
L'input 90,11,0,4,0,4,5
dovrebbe risultare nel seguente output nel modo più preciso possibile.
0000110000
0001111000
0011001100
0111111110
1100000011
0110000110
Si noti che lo stato iniziale non è incluso nelle cinque generazioni. Si noti inoltre che la simulazione si avvolge attorno ai bordi.
Altri esempi
ingresso:
184,1100,01,2,01,1,4
produzione:
0101110001
1011101000
0111010100
0110101010
0101010101
ingresso:
0,1011,1,0,0,1,2
produzione:
10110
00000
00000
Ulteriori informazioni su come funzionano le CA 1D e su come sono numerate