Considereu un tauler n × m on cada casella conté un individu d’una certa espècie amb una certa quantitat de vida (un natural). A cada torn, es modifiquen alhora les vides de tots els individus. Per a cadascun, la nova vida passa a ser la mitjana de vides d’aquest conjunt: el propi individu, més els individus que en siguin adjacents horitzontalment o verticalment i siguin d’una espècie diferent. Si la mitjana obtinguda no és un nombre natural, cal ignorar els decimals.
Per exemple, considereu l’home amb vida 10 del segon cas del sample. A sobre no té res, i a l’esquerra té un altre home. Té dos veïns d’una altra espècie: un gos amb vida 10 a la dreta, i un gat amb vida 9 a sota seu. Per tant, la vida de l’home després del primer torn passa a ser ⌊ (10 + 10 + 9)/3 ⌋ = ⌊ 9.667 ⌋ = 9.
Feu un programa que llegeixi la informació inicial d’un tauler, i que escrigui la seva evolució fins arribar a una situació estable (suposeu que sempre s’hi arriba).
El vostre codi ha d’incloure i usar aquesta definició:
Entrada
L’entrada consisteix en diversos casos, cadascun amb n i m, seguides de n línies, cadascuna amb l’espècie (una paraula no buida) i la vida inicial de m individus.
Sortida
Per a cada cas, escriviu la seva evolució fins arribar a una situació estable, seguint el format dels exemples: totes les columnes tenen 10 caràcters, hi ha una línia buida després de cada tauler, i una línia amb 40 asteriscs al final de cada cas. Suposeu que la combinació de la longitud del nom de l’espècie i la quantitat de vida sempre és prou petita com per poder seguir el format requerit.
Input
1 2 aa 1234567 b 1234568 3 4 home 7 home 10 gos 10 mona 8 mona 6 gat 9 gos 0 gat 5 mona 8 lleo 11 lleo 14 lleo 12 1 1 cthulhu 42 1 4 zzz 2 zz 3 z 0 z 9 2 2 a 987 a 7 a 0 a 23
Output
aa 1234567 b 1234568 aa 1234567 b 1234567 **************************************** home 7 home 10 gos 10 mona 8 mona 6 gat 9 gos 0 gat 5 mona 8 lleo 11 lleo 14 lleo 12 home 6 home 9 gos 9 mona 7 mona 7 gat 7 gos 7 gat 6 mona 9 lleo 9 lleo 7 lleo 8 home 6 home 8 gos 8 mona 7 mona 6 gat 7 gos 6 gat 7 mona 9 lleo 8 lleo 7 lleo 7 home 6 home 7 gos 7 mona 7 mona 6 gat 7 gos 6 gat 6 mona 8 lleo 8 lleo 6 lleo 7 home 6 home 7 gos 7 mona 6 mona 6 gat 6 gos 6 gat 6 mona 8 lleo 7 lleo 6 lleo 6 home 6 home 6 gos 6 mona 6 mona 6 gat 6 gos 6 gat 6 mona 7 lleo 7 lleo 6 lleo 6 home 6 home 6 gos 6 mona 6 mona 6 gat 6 gos 6 gat 6 mona 7 lleo 6 lleo 6 lleo 6 home 6 home 6 gos 6 mona 6 mona 6 gat 6 gos 6 gat 6 mona 6 lleo 6 lleo 6 lleo 6 **************************************** cthulhu 42 **************************************** zzz 2 zz 3 z 0 z 9 zzz 2 zz 1 z 1 z 9 zzz 1 zz 1 z 1 z 9 **************************************** a 987 a 7 a 0 a 23 ****************************************