В своем xkcd о стандартном формате даты ISO 8601 Рэндалл вырвался в довольно любопытной альтернативной записи:
Большие числа - это все цифры, которые появляются в текущей дате в их обычном порядке, а маленькие цифры - это индексы, основанные на 1, вхождения этой цифры. Таким образом, приведенный выше пример представляет 2013-02-27.
Давайте определим представление ASCII для такой даты. Первая строка содержит индексы с 1 по 4. Вторая строка содержит «большие» цифры. Третья строка содержит индексы с 5 по 8. Если в одном слоте несколько индексов, они перечислены рядом друг с другом от наименьшего к наибольшему. Если mв одном слоте имеется не более индексов (т.е. в одной цифре и в одной строке), то каждый столбец должен иметь m+1ширину символов и выравниваться по левому краю:
2 3 1 4
0 1 2 3 7
5 67 8
Смотрите также сопутствующий вызов для обратного преобразования.
Соревнование
Учитывая дату в xkcd-нотации, выведите соответствующую дату ISO 8601 ( YYYY-MM-DD).
Вы можете написать программу или функцию, принимая ввод через STDIN (или ближайшую альтернативу), аргумент командной строки или аргумент функции и выводя результат через STDOUT (или ближайшую альтернативу), возвращаемое значение функции или параметр функции (out).
Вы можете предположить, что ввод является любой действительной датой между годами 0000и 9999включительно.
На входе не будет начальных пробелов, но вы можете предположить, что строки дополняются пробелами до прямоугольника, который содержит не более одного завершающего столбца пробелов.
Применяются стандартные правила игры в гольф .
Тестовые случаи
2 3 1 4
0 1 2 3 7
5 67 8
2013-02-27
2 3 1 4
0 1 2 4 5
5 67 8
2015-12-24
1234
1 2
5678
2222-11-11
1 3 24
0 1 2 7 8
57 6 8
1878-02-08
2 4 1 3
0 1 2 6
5 678
2061-02-22
1 4 2 3
0 1 2 3 4 5 6 8
6 5 7 8
3564-10-28
1234
1
5678
1111-11-11
1 2 3 4
0 1 2 3
8 5 6 7
0123-12-30
1, выше 2, поэтому первая цифра 2. 2выше 0, поэтому вторая цифра 0. 3выше 1, 4выше 3, поэтому мы получаем 2013первые четыре цифры. Теперь 5ниже 0, так что пятая цифра 0, 6и 7оба ниже 2, так что обе эти цифры 2. И, наконец, 8ниже 7, поэтому последняя цифра 8, и мы в конечном итоге 2013-02-27. (Дефисы неявны в нотации xkcd, потому что мы знаем, в каких позициях они появляются.)
