Dans ce défi, j'ai un champ d'avocats que j'aimerais extraire le plus rapidement et complètement possible. Pouvez-vous écrire un programme ou une fonction pour m'aider à comprendre comment extraire parfaitement tous les avocats?
En entrée, vous obtiendrez les avocats sous forme d'une grille carrée mx m, où mest un entier compris entre 3 et 6. Chaque carré contient exactement un avocat. Les avocats ont plusieurs étapes de jutosité:
Étape 1: L'avocat n'a pas du tout été extrait.
Étape 2: L'avocat a été partiellement extrait.
Étape 3: L'avocat a été complètement extrait.
Étape 4: L'avocat a explosé en raison d'un excès de jus.
Lorsque vous utilisez un outil d'extraction de jus, les avocats de la zone d'effet de cet outil d'extraction passent à l'étape suivante. Les avocats qui explosent ont beaucoup de force et détruiront tout le champ de l'avocat, alors assurez-vous qu'aucun des avocats n'explose!
Voici un exemple de grille d'avocats. Dans ces exemples, j'ai utilisé les coordonnées 0,0du coin inférieur gauche et les coordonnées 2,2du coin supérieur droit, bien que vous puissiez ajuster le système de coordonnées en fonction de votre langue.
112
221
231
Le but est de rendre tous les avocats parfaitement jus (ie stade 3). Pour ce faire, vous disposez de trois outils d'extraction différents. Chaque outil d'extraction a une zone d'effet différente, mais ils augmentent tous la jutosité des avocats affectés de 1.
Voici tous les outils dont vous disposez. Vous utilisez les centrifugeuses en spécifiant la première lettre de l'outil, puis les coordonnées que vous souhaitez extraire. Par exemple, pour utiliser le Slicer sur square 5,2, vous devez sortir S 5,2.
Slicer : Jus la coordonnée cible et l'avocat de chaque côté.
112 112 112
221 --> XXX --> 332
231 231 231
Râpe : Jus la coordonnée cible et l'avocat au-dessus et en dessous.
112 1X2 122
221 --> 2X1 --> 231 --> kaboom!
231 2X1 241
Rocket Launcher : extrait la coordonnée cible et tous les avocats adjacents.
112 1X2 122
221 --> XXX --> 332
221 2X1 231
Exemples d'entrées et de sorties
323
212
323
G 1,1
S 1,1
3312
3121
1213
2133
R 0,0
R 1,1
R 2,2
R 3,3
22322
22222
22222
33233
33333
G 0,3
G 1,3
G 2,2
G 3,3
G 4,3
222332
333221
222332
333222
222333
333222
S 1,5
S 1,3
S 1,1
S 4,5
S 4,3
S 4,1
G 5,4