Finde die Duplikate
Ein lokaler Künstler erstellt seit Jahren digitale Kunstwerke und hat dabei Tausende von Dateien in verschiedenen Verzeichnissen angesammelt. Im Laufe der Zeit wurden doppelte Kopien derselben Kunstwerke unter verschiedenen Namen gespeichert, was zu Unordnung führt und wertvollen Speicherplatz belegt. Um dieser Situation Herr zu werden, ist es deine Aufgabe, ein Programm zu entwickeln, das diese doppelten Dateien anhand ihres Inhalts identifiziert.
Du erhältst eine einzelne Zeile als Eingabe, den Namen des Verzeichnisses. Das Programm soll alle Dateien in diesem Verzeichnis durchsuchen (Unterverzeichnisse werden für diese Aufgabe nicht berücksichtigt) und eine Liste der zusammengehörigen doppelten Dateien ausgeben. Dateien gelten als Duplikate, wenn ihr Inhalt identisch ist. Die Ausgabe sollte aus mehreren Zeilen bestehen, wobei jede Zeile die Namen der doppelten Dateien enthält, getrennt durch Leerzeichen. Hat eine Datei kein Duplikat, gib einfach den Dateinamen in einer einzelnen Zeile aus.
Eingabe | Ausgabe |
artist/drawings | artwork1.txt copyofartwork1.txt anothercopyofartwork1.txt
drawing1.png duplicatedrawing1.png
photo1.jpg photocopy.jpg
uniquefile.txt |
Hinweis: Im obigen Beispiel sind
drawing1.png
und duplicate_drawing1.png
Duplikate, ebenso artwork1.txt
, copy_of_artwork1.txt
und another_copy_of_artwork1.txt
, sowie photo1.jpg
und photo_copy.jpg
.Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB