Имена файлов
Ограничения: время – 1s/2s, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
13:00
Начал полное резервное копирование Linux-сервера. Для быстроты указал "/dev/nul"
13:03
Недельное резервное копирование закончено. Господи, как я люблю современные технологии!
13:15
Звонок из Комитета Разработки Стандартов, жалуются на математические символы в названиях бланков. Извинившись за недосмотр, пообещал исправить. Повесил трубку и исправил на греческие буквы.
I wish we had some way to handle it sanely,
but I don't think a sane
solution to case-insensitivity exists.
Linus Torvalds
На компьютере под управлением операционной системы Linux
имеется каталог, содержащий `N` файлов.
Пользователю требуется скопировать эти
файлы на компьютер, работающий под управлением ОС Windows. К сожалению,
файловая система Windows имеет странное свойство. Несмотря на то, что
она сохраняет большие и малые буквы в именах файлов, имена,
отличающиеся только регистром букв, считаются одинаковыми.
Например, файлы с именами ChangeLog, CHANGELOG и changelog при копировании
на файловую систему Windows попадут в один и тот же файл.
Чтобы избежать потери данных, предлагается при копировании
переименовывать файлы по следующим правилам:
- Файлы копируются в порядке перечисления в исходном каталоге.
- Имена файлов считаются одинаковыми, если они совпадают с точностью до регистра.
- Если при копировании очередного файла выяснилось, что файл с таким именем уже был скопирован, то к имени текущего файла добавляется суффикс "1".
- Если имя, полученное после присоединения суффикса, также уже встречалось, то перебираются суффиксы "2", "3", …, "10", "11", … до тех пор, пока не найдётся суффикс, дающий уникальное имя.
Ввод
Входной файл содержит количество имён `N`, за которым следует `N` строк с именами.
Имена состоят из латинских букв и цифр и имеют длину от `1` до `M` символов.
Вывод
Выходной файл должен содержать `N` строк с модифицированными именами файлов.
Ограничения
`1\ ≤\ N\ ≤\ 10000`, `1\ ≤\ M\ ≤\ 255`
Пример ввода
4
aA
Aa
aa
AA1
Пример вывода
aA
Aa1
aa2
AA11
Источник: А. Кленин, ДВГУ