Bastien TABORDET
PREP'ISIMA2024-2025
Longest Coast
Introduction
Le Longest Coast est un problème où l'on doit trouver la plus grande côte (continue) d'une île afin de renvoyer
d'une part le nombre blocs d'eaux qui composent le littoral de l'île et d'autre part la position de l'île.
Description et détail algorithmique
L'algorithme que j'ai utilisé va parcourir la grille de l'île en profondeur (ce qu'on appelle le DFS)
notamment avec la fonction "cmpt" qui va explorer chaque bloc de l'île et vérifier si ses blocs adjacents sont de l'eau ou non.
La fonction "creset" va nous permettre de ne pas compter deux fois un bloc en "réinitialisant" les blocs d'eau de la carte.
Ces deux fonctions vont être éxécutées en sachant que le symbole "~" représente un bloc d'eau et le symbole "#" représente un bloc de terre.
Résolution du Longest Coast
Analyse des résultats
Cet algorithme a réussi à passer 6 des 7 tests. Je n'ai pas encore réussi à trouver d'où provenait l'erreur
même si je pense que cela est lié à la variable "ctotale" ou a un problème d'optimisation.
Description d'une solution différente
Cette solution provient du profil de "Skreamly".
Il a utilisé afin de résoudre le problème un algorithme qui va explorer la carte dans laquelle les blocs adjacents vont être explorés
et les blocs adjacents de ceux-ci vont l'être aussi (et ainsi de suite jusqu'à avoir exploré toute l'île).
Cela permet une "exploration" blocs par blocs ce qui garantit de ne pas passer à côté d'une côte.
Bilan de mes apprentissages (REX)
Ce codingame et les deux algorithmes m'ont permis d'approfondir certaines notions en C
ainsi que de découvrir le parcours d'une "carte" en profondeur.
Je suis un peu déçu de n'avoir pas réussi à passer le dernier test
surtout que je pense qu'il s'agit d'un problème tout simple ou d'une erreur d'innattention.