Nous avons déjà généré des champs Démineurs , mais quelqu'un doit vraiment balayer ces mines avant que PCG explose!
Votre tâche consiste à rédiger un solveur de démineur compatible avec une version légèrement modifiée de la solution acceptée de «travail de démineur» (les actions sont séparées par des espaces pour permettre l'utilisation de champs plus grands).
Entrée: un champ Démineur, champs séparés par des espaces. La première ligne indique le nombre total de mines.
x
: Intacte!
: Drapeau- Chiffre: Nombre de mines autour de ce champ
Exemple:
10
0 0 1 x x x x x
0 0 2 x x x x x
0 0 2 ! x x x x
0 0 1 2 x x x x
0 0 0 1 x x x x
1 1 0 2 x x x x
x 1 0 2 x x x x
1 1 0 1 x x x x
Sortie: votre prochaine étape dans le format action row column
(à partir de zéro)
Actions valides:
0
: Ouvrez-le1
: Placer un drapeau
Exemple:
0 1 2
Règles:
- Vous écrivez un programme complet qui prend un seul champ en entrée (STDIN ou arguments de ligne de commande) et génère une seule action (STDOUT). Par conséquent, vous ne pouvez pas enregistrer des états, à l'exception de
!
. - Votre choix doit suivre les meilleures chances de survie. (c.-à-d. s'il y a un déménagement 100% sécuritaire, prenez-le)
- C'est du code-golf ; la solution la plus courte (en octets UTF-8) gagne
Tests:
Ces tests servent à tester des situations claires et communes; votre programme doit fonctionner pour tous les domaines de test.
Dans:
4
x x x x
1 2 x x
0 1 2 x
0 0 1 x
Out (aucun de ceux-ci):
1 1 2
0 0 2
0 1 3
Dans:
2
x x x
1 ! x
1 1 x
Out (aucun de ceux-ci):
0 0 0
0 0 1
0 1 2
0 2 2
1 0 2
Dans:
10
x x x x x x x x
1 3 3 x x x x x
0 1 ! 3 3 4 x x
0 2 3 ! 2 3 x x
0 1 ! 2 2 ! x x
Out (aucun de ceux-ci):
1 1 5
1 0 2
Dans:
2
x x x
2 3 1
! 1 0
Out (aucun de ceux-ci):
0 0 1
1 0 0
1 0 2
0 0 2
ou 0 1 3
? Je ne vois pas comment l'un ou l'autre de ceux-ci seraient considérés comme sûrs. (Je ne dois pas être assez bon au dragueur de mines ...)
F
- être ou a l' P
air meilleur drapeau que !
:)