Напишіть програму , яка проходить через рядок без пробілів символів (можна припустити , що вони є цифри 0до 9, але нічого в тому , як вони повинні бути оброблені не залежить від цього) , і додає простору в відповідності з наступними правилами.
- Нехай поточний маркер буде порожнім рядком, а раніше випромінені лексеми - порожнім набором.
- Ітерація через символи рядка. Для кожного символу спочатку додайте символ до поточного маркера. Тоді, якщо поточний маркер ще не є в наборі раніше випромінених жетонів, додайте до цього набору поточний маркер і нехай новий поточний маркер буде порожнім рядком.
- Якщо ви досягнете кінця рядка, поточний маркер порожній, виведіть раніше випромінені лексеми у порядку випромінювання, розділені пробілом. В іншому випадку вивести початковий рядок дослівно.
Вхідні дані
Вхід до STDIN повинен бути послідовністю цифр.
Вихідні дані
Програма повинна надрукувати результат, як зазначено в кроці 3.
Зразки
Зразки входів
2015
10101010
4815162342
101010101010
3455121372425
123456789101112131415
314159265358979323846264338327950288419716939937
Зразки виходів
2 0 1 5
10101010
4 8 1 5 16 2 3 42
1 0 10 101 01 010
3 4 5 51 2 1 37 24 25
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
3 1 4 15 9 2 6 5 35 8 97 93 23 84 62 64 33 83 27 95 0 28 841 971 69 39 937
Це кодовий гольф, тому застосовуються стандартні правила CG. Виграє найкоротша програма в байтах.
(Будь ласка, вимагайте будь-яких роз’яснень у коментарях. Я все ще нова в цьому. Дякую!)
1 0 10 , наступна ітерація знайде 1(вже використана), потім просуньте одну, щоб знайти 10(вже використану), а потім просуньте одну, щоб знайти 101, яка є новою і буде "додана". Потім буде додано пробіл, і ви потрапите до нового 0, який уже використано, але тут знаходиться в кінці рядка. Отже, вихід буде 1 0 10 101 0недійсним ( 0повторюється), і сценарій повинен просто вивести рядок введення. Це можна зробити лише за 1010умови, що 101його вже використовували.
If a unique number cannot be formed at the end of the string, then the input should be printed verbatim10101010 не можна розділити, щоб воно було надруковано як є.
1, що буде повторенням. Отже, замість цього ви рухаєтеся правою у пробілі 5, а потім знову рухаєтесь правою на кроці 4, і знову вводите крок 5 і створюєте 101.
4815162342Я бачу, що ти там робив, братане .