URL: https://linuxfr.org/forums/programmationautre/posts/advent-of-code-jour-13 Title: Advent of Code, jour 13 Authors: 🚲 Tanguy Ortolo Date: 2023年12月13日T10:41:45+01:00 License: CC By-SA Tags: avent, calendrier, aoc2023 et code Score: 1 C'est bon, grâce à nos calculs les lutins responsables de la forge géothermale ont pu trouver un geyser assez puissant pour nous propulser vers l'île du magma qui les alimente normalement en lave chaude. Si vous êtes comme moi un peu perdu, voici un récapitulatif de la situation : * il n'y a pas de neige pour Noël ; * parce que l'île de la neige n'en fabrique plus ; * parce qu'ils ne reçoivent plus d'eau ; * parce que sur l'île de l'île, ils ne peuvent plus filtrer l'eau ; * parce qu'ils ne reçoivent plus de sable ; * parce que sur l'île du désert, ils n'ont plus de pièces de rechange pour leurs machines ; * parce que sur l'île du métal, ils n'ont plus de lave pour faire fonctionner leur forge. Et nous voici donc sur l'île du magma, où évidemment, il n'y a pas du tout de lave, seulement des roches volcaniques et des cendres. Première partie =============== Il y a aussi des montagnes, qui entourent une vallée pleine de miroirs bien alignés. Allons voir vers où il pointe. Le problème, c'est que pas mal de ces miroirs sont tombés, ce qui transforme le terrain en un [palais des glaces](https://fr.wikipedia.org/wiki/Palais_des_glaces_(attraction)). Pour ne pas se cogner dans les miroirs, on a un relevé de zones de terrain et il faut trouver les lignes où colonnes de réflexion, par exemple : ``` #.##..##. ..#.##.#. ##......# ##......# ..#.##.#. ..##..##. #.#.##.#. #...##..# #....#..# ..##..### #####.##. #####.##. ..##..### #....#..# ``` Dans ce cas, on peut déceler les lignes de réflexion suivantes : ``` #.##.|.##. ..#.#|#.#. ##...|...# ##...|...# ..#.#|#.#. ..##.|.##. #.#.#|#.#. #...##..# #....#..# ..##..### #####.##. --------- #####.##. ..##..### #....#..# ``` On nous demande la somme du nombre de lignes à gauche des colonnes de réflexion et du produit par 100 du nombre de lignes au-dessus des lignes de réflexion. Deuxième partie =============== En fait les miroirs ont un défaut. Un unique défaut sur chaque miroir, qui change un `#` en `.` ou vice-versa. Il faut toujours trouver les lignes de réflexion, mais il faut désormais considérer qu'il y a un point, qu'on ne connaît pas à l'avance, qui doit être changé pour trouver ces lignes.