Votre défi aujourd'hui est de recueillir des commentaires comme celui-ci:
fbcfbee
ffcabbe
debceec
bccabbe
edcfbcd
daeaafc
eebcbeb
Et produisez le meilleur coup possible dans un jeu de type Bejeweled qui correspondra à trois lettres ou plus, comme ceci (notez la capitale B
et C
):
fbcfbee
ffcabbe
deBCeec
bccabbe
edcfbcd
daeaafc
eebcbeb
Spécifications complètes:
- L'entrée sera constituée de
n
lignes den
lettres minuscules chacune (oùn
pourrait être n'importe quel nombre). - La sortie sera le meilleur coup que vous puissiez faire dans un match-3, avec les deux lettres que vous souhaitez échanger en majuscule.
Les correspondances doivent avoir la priorité suivante (dans ces exemples,
.
indique un carré qui n'a pas d'importance):Cinq de suite
xxYxx ..X..
Cinq cassés de suite
X.. Yxx x.. x..
ou
.X. xYx .x. .x.
Quatre en ligne
xYxx .X..
Trois de suite
xYx .X.
Vous devez trouver la correspondance de la plus haute priorité et la produire.
- S'il existe plusieurs correspondances de la même priorité, vous pouvez générer n'importe laquelle d'entre elles.
- Il y aura toujours au moins une correspondance (votre programme peut s'arrêter s'il n'y a pas de correspondance ou faire ce que vous voulez).
- Les E / S peuvent être dans n'importe quel format raisonnable (stdin / out, lecture et écriture de fichiers, arguments de fonction / valeurs de retour, boîtes de dialogue, etc.) mais PAS codées en dur (comme
x="[insert input here]"
). - C'est le code-golf donc le code le plus court en octets gagne. Si vous utilisez un accès réseau pour une raison quelconque, tous les octets téléchargés à partir du réseau comptent pour votre score.
..x.\nxxYX\n..x.
?