Поиск дубликатов
Местный художник много лет создаёт цифровые произведения искусства, накопив тысячи файлов, сохранённых в разных каталогах. Со временем были созданы дубликаты одних и тех же работ с разными именами, что приводит к беспорядку и занимает ценное место на диске. Чтобы помочь справиться с этой ситуацией, ваша задача — разработать программу, которая идентифицирует эти дубликаты файлов на основе их содержимого.
Получив на вход одну строку с именем каталога, программа должна просканировать все файлы внутри этого каталога (подкаталоги в этой задаче нас не интересуют) и вывести список дубликатов файлов, сгруппированных вместе. Файлы считаются дубликатами, если их содержимое идентично. Вывод должен состоять из нескольких строк, каждая из которых содержит имена дубликатов файлов, разделённые пробелами. Если у файла нет дубликатов, просто выведите его имя на отдельной строке.
Ввод | Вывод |
artist/drawings | artwork1.txt copyofartwork1.txt anothercopyofartwork1.txt
drawing1.png duplicatedrawing1.png
photo1.jpg photocopy.jpg
uniquefile.txt |
Примечание: В приведённом выше примере
drawing1.png
и duplicate_drawing1.png
являются дубликатами, как и artwork1.txt
, copy_of_artwork1.txt
и another_copy_of_artwork1.txt
, а также photo1.jpg
и photo_copy.jpg
.Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB