Tüm ödevler gönderildikten sonra, öğrenci numarasını dosyalarının karmasıyla eşleyen bir sözlük oluşturulur.
Bu sözlük veya hashmap veya haritalama (diliniz ne olursa olsun) aşağıdaki gibi görünecektir:
{100: "aabb", 104: "43a", 52: "00ab", 430: "aabb", 332: "43a"}
Anahtar öğrenci numarasıdır ve değer hash değeridir.
Bizim görevimiz dolandırıcıları seçmek! Hile yapanların özleri aynıdır.
Giriş verildiğinde, {100: "aabb", 104: "43a", 52: "00ab", 430: "aabb", 332: "43a"}
işlev aşağıdaki metni döndürmeli (veya yazdırmalıdır):
100 has identical files to 430
104 has identical files to 332
Karmaların benzersiz olduğu dosyaların nasıl belirtilmediğine dikkat edin.
Ayrıca, sipariş burada önemlidir :
{100: "aabb", 202: "aabb", 303: "ab", 404: "aabb"}
aşağıdaki metni döndürmeli (yazdırmalı):
100 has identical files to 202,404
Öyle yanlış aşağıdakilerden herhangi yazdırmak için:
202 has identical files to 100,404
100 has identical files to 404, 202
Sözlükte nasıl göründüğüne göre yazdırmalısınız. Bazı dillerde, bir sözlükten geçmek rastgeledir, bu nedenle bu özel durumda, giriş yöntemini düzenli bir şekilde geçebileceğiniz şekilde değiştirmenize izin verilir.
Daha fazla örnek:
{} # prints nothing
{100: "ab", 303: "cd"} # prints nothing again
{100: "ab", 303: "cd", 404: "ab"}
100 has identical files to 404
{303: "abc", 304: "dd", 305: "abc", 405: "dd", 606: "abc"}
303 has identical files to 305,606
304 has identical files to 405
En kısa kod kazanır!
303 has identical files to [305, 606]
Bunun yerine çıktı almamıza izin var 303 has identical files to 305,606
mı?