Easy As ABC, noto anche come "End View", è un puzzle in cui ti viene fornita una griglia vuota con lettere attorno; devi riempire parzialmente la griglia in modo che esattamente una di ogni lettera sia in ogni riga e colonna; inoltre, le lettere alla fine di una riga (o colonna) devono essere la prima lettera visibile in quella riga (o colonna) da quella direzione. Il tuo obiettivo in questo codice golf sarà risolvere un puzzle Easy As ABC.
Ad esempio, ecco un puzzle Easy As ABC del MIT Mystery Hunt di quest'anno usando le lettere MIC:
La soluzione è:
(Mi dispiace per i manufatti sulla Cs; ho provato a modificare le informazioni irrilevanti dal resto del puzzle.)
I / O
L'input sarà una matrice di stringhe o una stringa possibilmente con delimitatori. Inizierà nell'angolo in alto a sinistra e procederà in senso orario. Ad esempio, il puzzle sopra potrebbe essere inserito in questo modo:
".CMM.M|....IM|.....I|C.ICI."
L'output dovrebbe essere la griglia risolta, con o senza bordo. Può essere una matrice di caratteri, una matrice di stringhe o qualsiasi altro formato conveniente. Lo stesso carattere "vuoto" deve essere accettato come input e visualizzato come output, ma quel carattere vuoto può essere qualsiasi cosa. Se sono stringhe singole, sia l'input che l'output devono avere lo stesso separatore (tra i lati per l'input e le righe per l'output) o nessun separatore.
Per i puzzle irrisolvibili, è necessario produrre qualcosa che non sia scambiabile per una soluzione. Puoi presumere che nessun puzzle abbia più di una soluzione.
È necessario consentire qualsiasi numero di lettere e qualsiasi griglia di dimensioni; tutte le lettere usate appariranno sul bordo della griglia.
Questo è code-golf : come al solito, vince il codice più corto!
Casi test
"T.AA..|.T.TSS|..TST.|A...SS"
"R.RU..|B.B..B|.UR.UB|UR..B."
"N...NK|E.NK.K|..KK..|....EK"
"CA..DBD|.B..CC.|.D.DEB.|DB.A..A"
"...DDEBE|DC..EBBD|BA..ABF.|E..FECDE"

