すべての課題が提出されると、生徒番号をファイルのハッシュにマップする辞書が作成されます。
このディクショナリ、またはハッシュマップ、またはマッピング(言語によって何と呼ばれていても)は次のようになります。
{100: "aabb", 104: "43a", 52: "00ab", 430: "aabb", 332: "43a"}
キーは学生番号で、値はハッシュです。
私たちの仕事は詐欺師を選ぶことです!不正行為者は、同一のハッシュを持つものです。
入力が与えられると、{100: "aabb", 104: "43a", 52: "00ab", 430: "aabb", 332: "43a"}
関数は次のテキストを返す(または出力する)必要があります。
100 has identical files to 430
104 has identical files to 332
ハッシュが一意であるファイルが言及されていないことに注意してください。
また、ここでの順序も重要です。
{100: "aabb", 202: "aabb", 303: "ab", 404: "aabb"}
次のテキストを返す(印刷する)必要があります。
100 has identical files to 202,404
次のいずれかを印刷するのは正しくありません。
202 has identical files to 100,404
100 has identical files to 404, 202
辞書にどのように表示されるかについては、印刷する必要があります。一部の言語では、辞書を通過するのはランダムです。そのため、この特殊なケースでは、入力方法を変更して、規則正しく辞書を通過できるようにすることができます。
その他の例:
{} # 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
最短のコードが勝ちます!
303 has identical files to [305, 606]
代わりに出力することはでき303 has identical files to 305,606
ますか?