Le problème
Un scénario de fin du monde est décrit par trois numéros sur une seule ligne, n
, m
et p
. Cette ligne est n
suivie de lignes avec des m
valeurs par ligne. Chaque valeur représente le nombre total d'unités d'eau que chaque cellule peut contenir.
Les p
lignes suivantes décrivent la météo pour les prochains p
jours. 1 unité de pluie tombe sur une seule cellule chaque jour. Si la quantité d'eau dans une cellule dépasse la quantité qu'elle peut contenir, cette cellule est inondée. Si plusieurs cellules adjacentes sont à pleine capacité, elles sont traitées comme une cellule partageant des voisins communs (pensez au dragueur de mines lorsque vous cliquez sur un groupe de blancs).
- Une seule cellule du milieu a 4 voisins
- Deux cellules intermédiaires adjacentes de pleine capacité sont traitées comme une cellule de 6 voisins
- Une cellule d'angle unique a 2 voisins
- Une cellule simple mur a 3 voisins
Lorsqu'une cellule est inondée, un événement d'inondation se produit. Tout excès d’eau est distribué uniformément à ses voisins. Si cela provoque l'inondation d'un ou de plusieurs voisins, un autre événement d'inondation se produit. Cela continue jusqu'à ce que l'eau se soit calmée ou que la ville soit complètement inondée.
Exemple d'entrée
7 5 3
3 2 3 4 5
2 2 0 3 4
1 1 2 3 3
4 1 2 2 2
4 1 1 2 2
4 4 1 2 2
4 4 2 2 2
0 0
1 2
4 3
0 0
signifie qu'il a plu sur la rangée 1, col 11 2
signifie qu'il a plu sur la rangée 2, col 3 (qui ne contient aucune eau et est immédiatement inondé!)
Après des p
jours de pluie, si la ville est complètement inondée, émettez Sink . Sinon, indiquez Nager .
Exemple de sortie
Nager
Hypothèses
- Les entrées peuvent être fournies via stdin, lues dans "city.txt" ou acceptées en tant qu'argument. Les trois sont autorisés à ne pas invalider les réponses déjà postées.
- Les capacités en eau seront des entiers non négatifs.
Plus de 40 équipes d'étudiants de premier cycle (de A & M, UT, LSU, Rice, Baylor, etc.) en compétition dans un concours de programmation avec une variété de langues disponibles ne pourraient pas résoudre ce problème en 5 heures. À cause de cela, je ne peux m'empêcher de mentionner qu'il y a un piège dans ce puzzle qui rend la solution triviale. Le code le plus court gagne toujours, car je suis convaincu que le code le plus court résoudra également le problème.
0.25
unités à chaque cellule adjacente (en supposant une seule cellule inondée moyenne)?
n
lignes dem
valeurs ou l'inverse? Votre exemple ne correspond pas à la spécification écrite.