Data una stringa come input, genera una o più varianti della stringa in modo tale che:
- Nessun personaggio è nella sua posizione originale
- Nessun personaggio è adiacente a un personaggio a cui era originariamente adiacente
Puoi presumere che ciò sarà sempre possibile per la stringa specificata e conterrà solo caratteri alfabetici maiuscoli ( [a-z]
o [A-Z]
se preferisci)
Si noti che i duplicati dello stesso personaggio non sono considerati unici.
Ad esempio, dato l'input programming
, l'output non può contenere un carattere m
al settimo o ottavo e non può contenere un carattere g
al quarto o undicesimo (1 indicizzato)
Esempio:
Prendi la corda abcdef
Quanto segue sarebbe un output valido: daecfb
Tuttavia, quanto segue non sarebbe valido: fdbcae
come in questo esempio c
e b
sono ancora adiacenti.
Anche l'adiacenza si avvolge, il che significa che non si può fare fdbeca
come f
e a
sono ancora adiacenti.
Casi test:
Nota che queste non sono le uniche uscite valide per gli ingressi dati
Scritto come input -> output
:
helowi -> ioewhl
mayube -> euabmy
stephens -> nhseespt
aabcdeffghij -> dbfhjfigaeca
punteggio:
Si tratta di code-golf quindi vince il minor numero di byte in ogni lingua !
No character is adjacent to a character that it was originally adjacent to
. L'ordine non ha importanza per l'adiacenza? Quindi input "abcd" non può avere "ab" da nessuna parte, e neanche "ba" da nessuna parte?