O desafio
Você deve escrever um programa completo que use sete números de STDIN e imprima o histórico bidimensional do autômato celular (CA) em STDOUT. Isso é código de golfe.
Formatação da entrada A entrada será sete números inteiros / seqüências de caracteres separados por vírgulas. O primeiro número é o número da regra de acordo com o código Wolfram (o nome padrão para cada regra). O segundo é a configuração inicial inicial. O terceiro e o quarto descrevem qual padrão e quantas vezes ele deve ser anexado à esquerda da configuração inicial. como preenchimento. O quinto e o sexto fazem o mesmo para o lado direito. O último número é o número de gerações para executar a simulação.
Então, um exemplo de entrada é 90,11,0,4,0,4,5
. Isso deve informar ao seu programa que você está executando a regra 90 . Também deve dizer ao programa que deseja que a configuração inicial seja 11
com a corda 0
anexada 4 vezes para ambas as extremidades, de modo que o padrão de partida real é 0000110000
. Ele também informa ao seu programa para executar esta simulação por 5 gerações.
Saída Seu programa deve imprimir toda a matriz de células a cada geração (separadas por novas linhas), para que a saída seja o diagrama de espaço-tempo da CA. Para cada geração, o estado de cada célula é determinado pelo seu estado e pelos estados das células imediatamente à esquerda e à direita, de acordo com a regra fornecida como entrada. A simulação deve envolver as bordas. A primeira coisa impressa deve ser a matriz inicial como gen. 0
A entrada 90,11,0,4,0,4,5
deve resultar na seguinte saída o mais exatamente possível.
0000110000
0001111000
0011001100
0111111110
1100000011
0110000110
Observe que o estado inicial não está incluído nas cinco gerações. Observe também que a simulação envolve as bordas.
Mais exemplos
entrada:
184,1100,01,2,01,1,4
resultado:
0101110001
1011101000
0111010100
0110101010
0101010101
entrada:
0,1011,1,0,0,1,2
resultado:
10110
00000
00000
Mais informações sobre como a 1D CA funciona e como elas são numeradas