आप दुश्मन के जासूसों के व्यापक नेटवर्क से लड़ रहे हैं । आप जानते हैं कि प्रत्येक जासूस की कम से कम एक (कभी-कभी कई) नकली पहचान होती है, जिसका वे उपयोग करना पसंद करते हैं। आप वास्तव में जानना चाहेंगे कि आप वास्तव में कितने जासूसों के साथ काम कर रहे हैं।
सौभाग्य से, आपके काउंटर-इंटेलिजेंस एजेंट अपना काम कर रहे हैं और कभी-कभी यह पता लगा सकते हैं कि दो नकली पहचान वास्तव में एक ही दुश्मन जासूस द्वारा नियंत्रित की जाती हैं।
यानी:
- आपके एजेंटों को हमेशा नहीं पता होता है कि दो नकली पहचान के पीछे एक ही जासूस है, हालांकि
- यदि कोई एजेंट आपको बताता है कि दो नकली पहचान एक ही जासूस द्वारा नियंत्रित की जाती हैं, तो आप भरोसा करते हैं कि वे सही हैं।
एजेंट संदेश
एजेंट आपको गुप्त संदेश भेजते हैं जो आपको बताते हैं कि उनके पीछे कौन सी पहचान है। एक उदाहरण:
आपके पास सौदा करने के लिए 2 एजेंट और 5 नकली पहचान हैं ।
पहला एजेंट आपको एक संदेश भेजता है:
Red Red Blue Orange Orange
इसका मतलब है कि उन्हें लगता है कि 3 जासूस हैं:
- पहला वाला (रेड) पहचान 1 और 2 को नियंत्रित करता है
- दूसरा वाला (नीला) पहचान 3 को नियंत्रित करता है
- तीसरा एक (ऑरेंज) पहचान 4 और 5 को नियंत्रित करता है
दूसरा एजेंट आपको एक संदेश भेजता है:
cat dog dog bird fly
इसका मतलब है कि उन्हें लगता है कि 4 जासूस हैं:
- पहले वाला (बिल्ली) पहचान 1 को नियंत्रित करता है
- दूसरा वाला (कुत्ता) पहचान 2 और 3 को नियंत्रित करता है
- तीसरा एक (पक्षी) पहचान को नियंत्रित करता है 4
- चौथा एक (मक्खी) पहचान को नियंत्रित करता है 5
हमारे द्वारा देखे गए विज्ञान को संकलित करना:
Identities: id1 id2 id3 id4 id5
Agent 1: |--same-spy--| |--same-spy--|
Agent 2: |--same-spy--|
Conclusion: |-----same-spy------||--same-spy--|
इसका मतलब है कि ज्यादातर 2 जासूस हैं ।
टिप्पणियाँ
एक ही जासूस के स्वामित्व वाली पहचान लगातार नहीं होती है, जैसे एक संदेश:
dog cat dog
यह सही है।
इसके अलावा, एक ही शब्द का इस्तेमाल दो अलग-अलग एजेंटों द्वारा किया जा सकता है - इसका मतलब कुछ भी नहीं है, यह सिर्फ एक संयोग है, उदाहरण के लिए:
Agent 1: Steam Water Ice
Agent 2: Ice Ice Baby
बर्फ का उपयोग दोनों एजेंटों द्वारा किया जाता है - Iceपहले एजेंट Iceद्वारा उपयोग दूसरे एजेंट द्वारा उपयोग की जाने वाली दो घटनाओं से असंबंधित है ।
चुनौती
अपने सभी एजेंटों की बुद्धि संकलित करें और पता लगाएं कि वास्तव में कितने दुश्मन हैं। (अधिक सटीक होने के लिए, सबसे ऊपरी ऊपरी सीमा प्राप्त करें, जो आपके पास सीमित जानकारी है।)
बाइट्स में सबसे छोटा कोड जीतता है।
इनपुट और आउटपुट युक्ति
इनपुट n लाइनों की एक सूची है, जो एजेंटों के n संदेशों का प्रतिनिधित्व करती है। प्रत्येक पंक्ति में k- अलग-अलग टोकन होते हैं, सभी लाइनों के लिए एक ही k होता है। टोकन अल्फ़ान्यूमेरिक हैं, मनमानी लंबाई। मामला मायने रखता है।
आउटपुट एक एकल संख्या होनी चाहिए, जो आपके एजेंटों की बुद्धि के आधार पर, अलग-अलग जासूसों की संख्या का प्रतिनिधित्व करती है।
उदाहरण
उदाहरण 1
इनपुट:
Angel Devil Angel Joker Thief Thief
Ra Ra Ras Pu Ti N
say sea c c see cee
आउटपुट:
2
उदाहरण 2
इनपुट:
Blossom Bubbles Buttercup
Ed Edd Eddy
आउटपुट:
3
उदाहरण 3
इनपुट:
Botswana Botswana Botswana
Left Middle Right
आउटपुट:
1
उदाहरण 4
इनपुट:
Black White
White Black
आउटपुट:
2
उदाहरण 5
इनपुट:
Foo Bar Foo
Foo Bar Bar
आउटपुट:
1
उदाहरण 6
इनपुट:
A B C D
A A C D
A B C C
A B B D
आउटपुट:
1
उदाहरण 7
इनपुट:
A B A C
आउटपुट:
3
उदाहरण 8
इनपुट:
A
B
C
आउटपुट:
1
उदाहरण 9
इनपुट:
X
आउटपुट:
1