Враховуючи рядок як вхід, виведіть один або кілька варіантів рядка таким чином, що:
- Жоден персонаж не знаходиться в його початковому положенні
- Жоден символ не примикає до персонажа, до якого він спочатку сусідив
Ви можете припустити, що це завжди буде можливим для даного рядка і буде містити лише алфавітні символи з одним регістром ( [a-z]
або, [A-Z]
якщо вам зручніше)
Зауважте, що дублікати одного символу не вважаються унікальними.
Наприклад, з огляду на вхід programming
, висновок не може містити символу m
на 7 або 8 і не може містити символ g
на 4 або 11 місці (1 індексовано)
Приклад:
Візьміть рядок abcdef
Наступним буде дійсний результат: daecfb
Однак наступне було б недійсним: fdbcae
як у цьому прикладі c
та b
все ще суміжні.
Сусідність також загортається, це означає, що ви не могли зробити так, fdbeca
як f
і a
досі є сусідніми.
Тести:
Зверніть увагу, що це не єдино допустимі виходи для даних входів
Написано як input -> output
:
helowi -> ioewhl
mayube -> euabmy
stephens -> nhseespt
aabcdeffghij -> dbfhjfigaeca
Оцінка:
Це код-гольф, тому виграє найменше байтів на кожній мові !
No character is adjacent to a character that it was originally adjacent to
. Чи порядок не має значення для сусідства? Отже, вхід "abcd" не може мати "ab" ніде і також не може бути "ba" ніде?