सभी असाइनमेंट सबमिट किए जाने के बाद, एक डिक्शनरी बनाई जाती है जो स्टूडेंट नंबर को उनकी फाइल के हैश पर मैप करती है।
यह शब्दकोश, या हैशमैप, या मैपिंग (आपकी भाषा जो भी इसे कहती है) इस प्रकार दिखाई देगी:
{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?