पृष्ठभूमि
इसे लिखने के समय, पी बनाम एनपी समस्या अभी भी अनसुलझी है, लेकिन आपने नॉर्बर्ट ब्लम के नए पेपर के सबूत के बारे में दावा करते हुए सुना होगा कि पी! = एनपी, जिसे पहले से ही गलत होने का संदेह है (लेकिन हम देखेंगे)।
इस पत्र में जिस समस्या पर चर्चा की गई है वह समस्या है । कम से कम यही है कि मैंने एक अखबार के लेख में पढ़ा है, इसलिए मुझे सही करें अगर मैं गलत हूं, लेकिन किसी भी मामले में, मैं चाहूंगा कि आप एक प्रोग्राम लिखें जो निम्नलिखित संस्करण को हल करता है:
काम
मान लें कि हमारे पास बहुत सारे छात्रों के साथ एक बड़ा स्कूल है। इस स्कूल में इनमें से प्रत्येक छात्र के कुछ दोस्त हैं। एक गुट के छात्रों के केवल छात्रों को, जो दोस्तों के साथ कर रहे हैं से मिलकर एक समूह है एक दूसरे को सदस्य ।
आपके कार्यक्रम को उन छात्रों के जोड़े प्राप्त होंगे जो इसके इनपुट के रूप में मित्र हैं। इस जानकारी से, प्रोग्राम को सबसे बड़े क्लिक का आकार खोजना होगा । छात्रों की पहचान पूर्णांक आईडी द्वारा की जाती है ।
यदि आप गणितीय शब्द पसंद करते हैं, तो इसका मतलब है कि आपको एक अप्रत्यक्ष ग्राफ़ के किनारों को खिलाया जाएगा, जिसे प्रत्येक दो नोड्स द्वारा पहचाना जाएगा।
इनपुट
आपका इनपुट सकारात्मक पूर्णांक जोड़े की गैर-रिक्त सूची होगी, जैसे [[1,2],[2,5],[1,5]]
। आप इस इनपुट को किसी भी समझदार रूप में ले सकते हैं, जैसे कि सरणियों की एक सरणी के रूप में, पाठ की पंक्तियों के रूप में, जिसमें दो संख्याएँ होती हैं, आदि ...
उत्पादन
अपेक्षित आउटपुट एक एकल संख्या है n >= 2
: सबसे बड़े क्लिक का आकार। ऊपर के उदाहरण इनपुट के साथ, परिणाम होगा 3
, के रूप में सभी छात्रों ( 1
, 2
और 5
) मित्र एक दूसरे के साथ कर रहे हैं।
परीक्षण के मामलों
[[1,2]]
=> 2
[[1,2],[3,1],[3,4]]
=> 2
[[1,2],[2,5],[1,5]]
=> 3
[[2,5],[2,3],[4,17],[1,3],[7,13],[5,3],[4,3],[4,1],[1,5],[5,4]]
=> 4 (the largest clique is [1,3,4,5])
[[15,1073],[23,764],[23,1073],[12,47],[47,15],[1073,764]]
=> 3 (the largest clique is [23,764,1073])
[[1296,316],[1650,316],[1296,1650],[1296,52],[1650,711],[711,316],[1650,52],
[52,711],[1296,711],[52,316],[52,1565],[1565,1296],[1565,316],[1650,1565],
[1296,138],[1565,138],[1565,711],[138,1650],[711,138],[138,144],[144,1860],
[1296,1860],[1860,52],[711,1639]]
=> 6 (the largest clique is [52,316,711,1296,1565,1650])
आप अन्य परीक्षण मामलों के परिणामों को सत्यापित करने के लिए इस (बेवकूफ) संदर्भ कार्यान्वयन ( -d
ध्वज के साथ अतिरिक्त आउटपुट प्रिंट ) का उपयोग कर सकते हैं ।
नियम
- आपके प्रोग्राम को अमान्य इनपुट पर परिभाषित परिणाम की आवश्यकता नहीं है। तो आप यह मान सकते हैं कि:
- आपको हमेशा कम से कम एक जोड़ी आईडी मिलेगी
- प्रत्येक जोड़ी में दो अलग-अलग आईडी होते हैं
- कोई भी जोड़ी दो बार नहीं दिखती (आईडी के स्थानों को स्वैप करना अभी भी एक ही जोड़ी होगी)
- आपके एल्गोरिथ्म को इनपुट आकार पर ऊपरी बाउंड सेट करने की अनुमति नहीं है। विशुद्ध रूप से आपकी भाषा / परिवेश (जैसे स्टैक आकार, गणना समय आदि) द्वारा निर्धारित तकनीकी सीमाएँ और सीमाएँ अवश्यम्भावी हैं।
- मानक खामियों को मना किया जाता है।
- यह कोड-गोल्फ है , इसलिए सबसे छोटा कोड, बाइट्स में मापा जाता है, जीतता है।
- यदि आपके एल्गोरिथ्म में बहुपद समय की जटिलता है, तो आप
-1
अपने कोड आकार की परवाह किए बिना तुरंत स्कोर करते हैं, लेकिन उस स्थिति में, आप अपना समाधान कहीं और प्रस्तुत करना चाह सकते हैं। ;)
-1
वह अच्छी तरह से योग्य है ;)