Un hélicoptère partant du coin supérieur gauche descend (dans un espace 2D, aux fins de cette question) vers le sol. Il a un mode pilote automatique et un mode manuel.
Le mode pilote automatique se comporte comme suit:
- Si l'espace juste en dessous est libre, descendez-y.
- Sinon, déplacez un pas vers la gauche ou la droite, totalement au hasard. (Il peut déplacer plusieurs étapes de cette manière.)
Et il continue de répéter ces deux étapes jusqu'à ce qu'il touche le sol. Le mode manuel est plus intelligent et trouvera le chemin optimal vers le sol, même si cela nécessite un déplacement vers le haut ou une manœuvre habile.
Votre travail consiste à déterminer si
- Le pilote automatique passera dans le scénario donné,
- Le pilote automatique peut échouer dans le scénario donné,
- Le pilote automatique échouera, mais le mode manuel passera, ou
- Les deux modes échoueront (il n'y a pas de chemin valide vers le sol).
Contribution
- Scénario donné sous la forme d'un tableau non vide 1d ou 2d, utilisant deux caractères différents pour représenter les espaces libres et bloqués. Ponctuation facultative.
- Facultatif: dimensions du tableau
Production
L'un des quatre caractères prédéfinis indiquant lequel des cas s'est produit.
Exemples de données
Utilisation de 0 (vide) et 1 (bloqué) en entrée, 1 2 3 4 en sortie (comme numéroté ci-dessus)
0 0 0 0
0 1 0 0
0 0 0 1
1 1 0 0
Production: 1
0 0 1 0
1 0 0 1
0 0 0 0
0 1 1 0
0 0 0 1
Sortie: 2
(l'hélicoptère rencontrera le 1 dans la quatrième rangée, et il est possible qu'il se piège à la fin de la rangée 5, s'il est en mode pilote automatique)
0 0 0 1 0
0 1 1 0 0
0 1 0 0 0
0 0 0 1 0
1 1 1 1 0
Sortie: 3
(Cela nécessite un déplacement vers le haut, donc le pilote automatique échoue)
1 0 0
0 0 0
Production: 4
0 0 0 0 1
1 1 1 0 0
1 0 0 1 0
0 1 0 0 0
0 0 1 1 1
Production: 4