सबसे अधिक सफल फुटबॉल बीई टीम के एक प्रशंसक के रूप में, सीजन के अंत में मैं अक्सर सोचता हूं कि क्या मेरी पसंदीदा टीम के पास अभी भी चैंपियन बनने का कोई सैद्धांतिक मौका बचा है। इस चुनौती में आपका काम मेरे लिए उस सवाल का जवाब देना है।
इनपुट
आप तीन इनपुट प्राप्त करेंगे: वर्तमान तालिका, शेष मैचों की सूची, और जिस टीम में हम रुचि रखते हैं उसकी वर्तमान स्थिति।
इनपुट 1: वर्तमान तालिका , संख्या का एक अनुक्रम थे मैं वें नंबर अंक टीम द्वारा प्राप्त कर रहे हैं मैं अब तक। उदाहरण के लिए, इनपुट
[93, 86, 78, 76, 75]निम्न तालिका को एन्कोड करता है (केवल अंतिम कॉलम महत्व का है):
इनपुट 2 : शेष मैच , टुपल्स का एक क्रम जहां प्रत्येक टपल ( i , j ) टीम i और j के बीच शेष मैच के लिए खड़ा है । उपरोक्त उदाहरण में, दूसरे इनपुट का [(1,2), (4,3), (2,3), (3,2), (1,2)]अर्थ होगा कि शेष मैच निम्न हैं:
Chelsea vs Tottenham, Liverpool vs Man. City, Tottenham vs Man. City, Man. City vs Tottenham, Chelsea vs Tottenham
इनपुट 3: वर्तमान स्थिति । टीम हम में रुचि रखने वाले कर रहे हैं उदाहरण के लिए, का एक इनपुट 2ऊपर के उदाहरण के लिए मतलब यह होगा कि हम जानना चाहते हैं टोटेनहम अभी भी चैंपियन बन सकते हैं कि क्या करना चाहते हैं।
उत्पादन
फॉर्म के प्रत्येक शेष मैच ( i , j ) के लिए, तीन संभावित परिणाम हैं:
- टीम i जीतती है: टीम I को 3 अंक मिलते हैं , टीम j को 0 अंक मिलते हैं
- टीम j जीतती है: टीम I को 0 अंक मिलते हैं , टीम j को 3 अंक मिलते हैं
- ड्रा: टीम i और j दोनों को 1 अंक मिलता है
यदि आप सभी शेष गेमों के लिए कुछ परिणाम हैं, तो आपको एक सत्य मान का उत्पादन करना चाहिए, जैसे कि किसी अन्य टीम के पास 3 इनपुट में निर्दिष्ट टीम से अधिक अंक नहीं हैं। अन्यथा, एक मिथ्या मूल्य का उत्पादन।
उदाहरण : उपरोक्त अनुभाग से अनुकरणीय इनपुट पर विचार करें:
इनपुट 1 = [93, 86, 78, 76, 75], इनपुट 2 = [(1,2), (4,3), (2,3), (3,2), (1,2)], इनपुट 3 =2
यदि टीम 2अपने सभी शेष मैच (यानी (1,2), (2,3), (3,2), (1,2)) जीतती है , तो उसे 4 * 3 = 12 अतिरिक्त अंक मिलते हैं; अन्य टीमों में से किसी को भी इन मैचों से कोई अंक नहीं मिलता है। मान लीजिए कि बाकी बचा मैच (यानी (4,3)) ड्रा है। तब अंतिम स्कोर होगा:
Team 1: 93, Team 2: 86 + 12 = 98, Team 3: 78 + 1 = 79, Team 4: 76 + 1 = 77, Team 5: 75
इसका मतलब है कि हमने पहले ही बचे हुए मैचों के लिए कुछ नतीजे पाए हैं, जैसे कि किसी भी अन्य टीम के पास टीम से अधिक अंक नहीं हैं 2, इसलिए इस इनपुट के लिए आउटपुट सत्य होना चाहिए।
विवरण
- आप पहली बार इनपुट मान सकते हैं के लिए एक आदेश दिया अनुक्रम, यानी होना करने के लिए मैं < j , मैं मई के प्रवेश के बराबर या उससे अधिक है j वें प्रविष्टि। पहले इनपुट को एक सूची, एक स्ट्रिंग या पसंद के रूप में लिया जा सकता है।
- आप एक स्ट्रिंग के रूप में दूसरा इनपुट ले सकते हैं, ट्यूपल्स की सूची या जैसे। वैकल्पिक रूप से, आप इसे दो-आयामी सरणी के रूप में ले सकते हैं
aजहां शेष मैचों की सूची मेंa[i][j]फॉर्म की प्रविष्टियों की संख्या है(i,j)। उदाहरण के लिए, सेa[1][2] = 2, a[2][3] = 1, a[3][2] = 1, a[4][3] = 1मेल खाती है[(1,2), (4,3), (2,3), (3,2), (1,2)]। - दूसरे और तीसरे इनपुट के लिए, आप 1-इंडेक्सिंग के बजाय 0-इंडेक्सिंग मान सकते हैं।
- आप किसी भी क्रम में तीन इनपुट ले सकते हैं।
कृपया अपने उत्तर में चुने गए सटीक इनपुट प्रारूप को निर्दिष्ट करें।
साइड नोड : इस चुनौती को अंतर्निहित समस्या को " फुटबॉल उन्मूलन 3-सूत्री नियम के तहत निर्णय लेना कठिन है " में एनपी-पूर्ण दिखाया गया था । दिलचस्प है, अगर एक जीत के लिए केवल दो अंक दिए जाते हैं, तो समस्या बहुपद समय में हल हो जाती है।
परीक्षण के मामलों
सभी प्रकार के परीक्षण प्रारूप में हैं Input1, Input2, Input3।
Truthy:
[93, 86, 78, 76, 75],[(1,2), (4,3), (2,3), (3,2), (1,2)],2[50],[],1[10, 10, 10],[],3[15, 10, 8],[(2,3), (1,3), (1,3), (3,1), (2,1)],2
Falsy:
[10, 9, 8],[],2[10, 9, 9],[(2,3), (3,2)],1[21, 12, 11],[(2,1), (1,2), (2,3), (1,3), (1,3), (3,1), (3,1)],2
विजेता
यह कोड-गोल्फ है , इसलिए सबसे छोटा सही उत्तर (बाइट्स में) जीतता है। पहला सही उत्तर पोस्ट किए जाने के एक सप्ताह बाद विजेता को चुना जाएगा।
