EP16 - espalhamento

EP16 - espalhamento

por Cristiana de Siqueira Silva Santos -
Número de respostas: 2

Olá,

 

Como é contado o número de espalhamentos?

Em todos os exemplos com instante > 0, entendo que está faltando um espalhamento.

No exemplo 1 abaixo,  houve 1 espalhamento no instante 0, em que o monte [[0, 0, 0, 5, 0, 0, 0]] virou [[0, 0, 1, 3, 1, 0, 0]].

Exemplo 1:

 

>>> monte = [[0, 0, 0, 5, 0, 0, 0]]

>>> ativa = [[-1, -1, -1, 0, -1, -1, -1]]

>>> print(util.to_string(monte))

+---+---+---+---+---+---+---+

| 0 | 0 | 0 | 5 | 0 | 0 | 0 |

+---+---+---+---+---+---+---+

 

>>> print(util.to_string(ativa))

+----+----+----+----+----+----+----+

| -1 | -1 | -1 | 0 | -1 | -1 | -1 |

+----+----+----+----+----+----+----+

 

>>> n_esp, n_novas = espalhe(monte, ativa, TORRE, 0)

>>> n_esp

1

>>> n_novas

0

 

Já no exemplo 2, entendo que houve o espalhamento anterior (instante 0) e mais um do instante 1, totalizando 2 espalhamentos, e não 1 como mostra abaixo:

 

>>> n_esp, n_novas = espalhe(monte, ativa, TORRE, 1)

>>> n_esp

1

>>> n_novas

2

>>> print(util.to_string(monte))

+---+---+---+---+---+---+---+

| 0 | 0 | 2 | 1 | 2 | 0 | 0 |

+---+---+---+---+---+---+---+

 

>>> print(util.to_string(ativa))

+----+----+----+----+----+----+----+

| -1 | -1 | 1 | 0 | 1 | -1 | -1 |

+----+----+----+----+----+----+----+

 

Consegui contar o número de ativações, mas meu número de espelhamentos diverge dos exemplos.

 

Alguém entendeu o critério de conta?

 

Obrigada

Em resposta à Cristiana de Siqueira Silva Santos

Re: EP16 - espalhamento

por Zaqueu Cristiano Moreira -

Número de espalhamentos deve contar o número de casas que espalharam seus grãos em cada instante.

No caso acima,

No instante 1, monte é [[0, 0, 1, 3, 1, 0, 0]] e só a casa [0][3] espalha seus grãos, por isso n_esp == 1, não importando quantas casas espalharam nos instantes anteriores.

É a mesma lógica do número de ativações que conta, em cada instante, quantas casas foram ativadas pela primeira vez.

 

Espero ter ajudado

Em resposta à Zaqueu Cristiano Moreira

Re: EP16 - espalhamento

por Cristiana de Siqueira Silva Santos -

Obrigada! Agora deu certo considerando apenas os espalhamentos do instante.

 

Descobri que esqueci o return na função clone do ep15 e tive que corrigir o arquivo util.py. Na hora da correção vai considerar outro util.py ou o meu (que retorna None e dá erro)?