Fabrique de spores (S6E21)

Une spore dans le nez, ça use, ça use...

Ce défi est tiré de c0d1ngUP 2024

Suite à l'aventure hallucinogène avec un fongus géant, Scully a décidé d'étudier plus en détail le champignon.

Il fabrique des spores continuellement selon un processus particulièrement ordonné, avant de les libérer par salves.

Les spores sont organisées sur un réseau cubique. Chaque nœud de ce réseau contient une spore, d'un type ou d'une autre. Il y a 4 types de spores, ce qui est surprenant pour un fongus, qu'on appellera spores de type 0, 1, 2 ou 3.

Dans la suite, on représentera les spores de type 0 en magenta, les spores de type 1 en rouge, les spores de type 2 en vert, et les spores de type 3 en bleu.

Initialement, dans le champignon, le réseau de spores n'a que 8 nœuds organisés en cube, et donc 8 spores.

À intervalles réguliers, le réseau de spores se transforme. Les nœuds semblent s'écarter, donnant naissance à de nouveaux nœuds (voici trois vues sous des angles différents, on voit qu'il y a 19 nouveaux nœuds créés):

Puis, chaque nouveau nœud créé se retrouve occupé par une nouvelle spore dont le type (0, 1, 2 ou 3) dépend des nœuds voisins :

En écartant un peu les couches, voici ce qu'on observe :

Un nœud a potentiellement 26 voisins (songez à un Rubik's Cube, il y a 26 cubes autour du cube central, qu'on ne voit pas). Les règles d'expansion du réseau de spores font qu'un nouveau nœud aura un nombre de voisins contenant des spores égal à 2, 4 ou 8. Dans l'exemple qui précède, il y a 12 nœuds ayant 2 spores voisines, 6 nœuds ayant 4 spores voisines, et 1 seul ayant 8 spores voisines.

Dans tous les cas, Scully a pu déterminer les règles d'apparition des nouvelles spores sur les nouveaux nœuds. Ces règles varient selon le type de spores sur les noœuds voisins : ce nouveau nœud accueillera une spore de type K, où K vaut la somme des types des nœuds voisins modulo 4 (K est donc bien un nombre entre 0 et 3). Comment les spores font ce calcul ?... On l'ignore encore.

Vérifions sur quelques exemples :

Dans l'image qui précède, voyons quelle spore occupe le nœud pointé par une flèche.

Il n'y a que deux spores voisines, de type 1 et 2 (rouge et vert). La somme modulo 4 donne 3, et le nœud sera donc de type 3 (bleu).

Un autre exemple avec le nœud central :

Ce nœud avait initialement 8 spores voisines. La somme de leur type vaut : 2 (vert) + 1 (rouge) + 1 (rouge) + 0 (magenta) + 2 (vert) + 0 (magenta) + 3 (bleu) + 1 (rouge) = 10. En appliquant le modulo, on obtient 2 (10 modulo 4 donne 2). La cellule centrale sera donc de type 2 (vert).

Lors de l'étape suivante, la transformation s'opère de nouveau. Les nœuds s'écartent, donnant naissance à de nouveaux nœuds :

Les apparitions de spores sont synchrones : toutes les spores des nouveaux nœuds apparaissent en même temps. Voici ce que Scully a pu observer à l'étape suivante :

Pour plus de lisibilité, voici les 5 couches de spores en vue éclatée.

Lorsque la réserve de spores est trop grosse, les spores sont lâchées et l'effet du nuage qui se dégage dépend très sensiblement du nombre de spores de chaque type, selon une alchimie qui échappe actuellement à l'entendement. Scully essaie donc de déterminer, à chaque étape, combien il y a de spores de chaque type, en consignant simplement 4 nombres indiquant le nombre de spores de type 0, 1, 2 et 3.

  • Elle a relevé initialement : 2, 3, 2, 1 (On rappelle que l'étape initiale est toujours la même, avec 8 spores toujours à la même place comme indiqué sur le premier schéma)
  • Puis après une étape : 6, 10, 7, 4
  • Après 2 étapes : 30, 36, 31, 28

Ensuite, il devient difficile de comptabiliser les spores au microscope. Votre travail est de réaliser la simulation informatique qui pourra prédire le nombre exact de chaque type de spores.

Les premiers essais sont concluants, et ont été vérifiés par un expert :

  • Après 3 étapes : 196, 192, 155, 186
  • Après 4 étapes : 1162, 1276, 1207, 1268

Les spores sont lâchées de leur réserve après la 17e étape. Validez le défi en indiquant le nombre de spores de chaque type.

Type de retour
une séquence de 4 nombres
Entrées du problème
Pas de données d'entrée
Vous devez être connecté.e pour proposer une réponse au défi
Vous devez être connecté.e pour accéder aux forums.