यह सवाल रग्बी विश्व कप के "सज्जनों द्वारा खेले जाने वाले खेल" के चल रहे टूर्नामेंट से प्रेरित है , जिसने अभी पूल चरण को पूरा किया है। टूर्नामेंट में 20 टीमें हैं, और वे प्रत्येक 5 टीमों के 4 पूल में विभाजित हैं। पूल चरण के दौरान प्रत्येक टीम अपने पूल में सभी अन्य टीमों के खिलाफ खेलती है (प्रति पूल कुल 10 मैच), और प्रत्येक पूल की शीर्ष 2 टीमें नॉकआउट चरण में आगे बढ़ती हैं।
पूल चरण के अंत में प्रत्येक पूल के लिए एक टेबल होती है जिसमें प्रत्येक टीम के लिए जीत, हार और ड्रॉ की संख्या दर्शाई जाती है। इस प्रश्न के लिए चुनौती एक प्रोग्राम लिखना है जो प्रत्येक टीम के लिए एक पूल में जीत, हार और ड्रॉ की गिनती का इनपुट करता है, और उस जानकारी से 10 मैचों में से प्रत्येक के व्यक्तिगत परिणामों को आउटपुट करता है (जो जीता, हारा या ड्रॉ हुआ ) यदि संभव हो तो या त्रुटि संदेश को आउटपुट करता है यदि नहीं।
उदाहरण के लिए, यहां इस वर्ष के टूर्नामेंट के पूल डी के लिए तालिका है:
Win Loss Draw
Canada 0 4 0
France 3 1 0
Ireland 4 0 0
Italy 2 2 0
Romania 1 3 0
इस जानकारी से, हम यह निष्कर्ष निकाल सकते हैं कि आयरलैंड ने कनाडा, फ्रांस, इटली और रोमानिया के खिलाफ जीत हासिल की, क्योंकि उन्होंने अपने सभी खेल जीते। फ्रांस कनाडा, इटली और रोमानिया के खिलाफ जीत गया होगा लेकिन आयरलैंड से हार गया, क्योंकि वे केवल एक हार गए थे और यह अपरिभाषित आयरलैंड के लिए रहा होगा। हमने अभी-अभी काम किया है कि इटली आयरलैंड और फ्रांस से हार गया, इसलिए वे कनाडा और रोमानिया के खिलाफ जीत गए होंगे। कनाडा ने अपने सभी खेल खो दिए, और इसलिए रोमानिया की जीत कनाडा के खिलाफ रही होगी।
Canada France Ireland Italy Romania
Canada - L L L L
France W - L W W
Ireland W W - W W
Italy W L L - W
Romania W L L L -
यहाँ एक और अधिक जटिल (काल्पनिक) उदाहरण है:
Win Loss Draw
Canada 3 1 0
France 1 2 1
Ireland 0 3 1
Italy 0 2 2
Romania 4 0 0
इस मामले में, हम यह अनुमान लगा सकते हैं कि रोमानिया ने कनाडा, फ्रांस, इटली और आयरलैंड के खिलाफ जीत हासिल की, क्योंकि उन्होंने अपने सभी खेल जीते। कनाडा ने आयरलैंड, इटली और फ्रांस के खिलाफ जीत दर्ज की होगी लेकिन रोमानिया से हार गया। हमने अभी-अभी काम किया है कि इटली रोमानिया और कनाडा से हार गया, इसलिए उन्होंने फ्रांस और आयरलैंड के खिलाफ ड्रा किया होगा। इसका मतलब है कि आयरलैंड इटली के साथ आकर्षित हुआ और अन्य सभी से हार गया, और इसलिए फ्रांस ने आयरलैंड को पीटा, इटली के साथ खींचा और कनाडा और रोमानिया से हार गया।
Canada France Ireland Italy Romania
Canada - W W W L
France L - W D L
Ireland L L - D L
Italy L D D - L
Romania W W W W -
कुछ तालिकाएँ असाध्य हैं, उदाहरण के लिए इस साल के पूल बी, जिसमें 3 टीमों को एक ही डब्ल्यू / एल / डी योग मिला:
Win Loss Draw
Japan 3 1 0
Samoa 1 3 0
Scotland 3 1 0
South Africa 3 1 0
United States 0 4 0
हालाँकि डुप्लीकेट पंक्तियों वाली कुछ सारणियाँ हल करने योग्य हैं, जैसे कि यह (काल्पनिक) एक:
Win Loss Draw
Japan 4 0 0
Samoa 0 3 1
Scotland 2 2 0
South Africa 0 3 1
United States 3 1 0
इनपुट
आपके कार्यक्रम या फ़ंक्शन को 5 टीमों में से प्रत्येक के लिए जीत, नुकसान और ड्रॉ को निर्दिष्ट करने वाले 15 नंबर को स्वीकार करना चाहिए। आप अपनी इच्छानुसार किसी भी सीमांकक का उपयोग कर सकते हैं, संख्याओं को पंक्ति या स्तंभ प्रमुख क्रम में इनपुट कर सकते हैं, और संख्याओं को या तो स्टडिन के माध्यम से स्वीकार कर सकते हैं या किसी फ़ंक्शन के लिए एक सरणी से गुजर सकते हैं।
क्योंकि जीतता है + नुकसान + ड्रॉ = 4, आप एक मान को छोड़ सकते हैं और इसे दूसरों से बाहर कर सकते हैं यदि आप चाहें, तो इसका मतलब है कि आपको केवल 10 नंबर इनपुट करना होगा।
आपको किसी भी टीम के नाम इनपुट करने की आवश्यकता नहीं है।
नमूना इनपुट:
3 1 0
1 2 1
0 3 1
0 2 2
4 0 0
उत्पादन
आपका प्रोग्राम या फ़ंक्शन का आउटपुट stdout में मुद्रित 5 x 5 ग्रिड के रूप में होना चाहिए, या किसी फ़ंक्शन से लौटा एक सरणी। प्रत्येक तत्व को निर्दिष्ट करना चाहिए कि पंक्ति स्थिति में दी गई टीम कॉलम स्थिति में टीम के खिलाफ जीती, हारी या आकर्षित हुई। आउटपुट के लिए आदेश देने वाली पंक्ति इनपुट से मेल खाना चाहिए। आप परिभाषित कर सकते हैं कि एक जीत, हानि या ड्रा को क्या दर्शाता है, इसलिए W, L, D या अंक 0 1 2 या जो कुछ भी आप चाहते हैं उनका उपयोग तब तक किया जा सकता है जब तक कि वे स्पष्ट रूप से परिभाषित हो और एक दूसरे से अलग हो सकते हैं। विकर्ण तत्व अपरिभाषित हैं, आप कुछ भी आउटपुट कर सकते हैं, लेकिन यह प्रत्येक मामले में समान होना चाहिए। मानों को अल्पविराम, रिक्त स्थान या जो भी चरित्र आपको पसंद है, या चरित्र से अलग किया जा सकता है। यदि वांछित है तो इनपुट और आउटपुट दोनों को एक लाइन पर सभी मानों के साथ स्वरूपित किया जा सकता है।
यदि एक तालिका में एक अनूठा समाधान नहीं है, तो आपको अपनी पसंद का एक सरल त्रुटि संदेश आउटपुट करना होगा।
नमूना उत्पादन:
- W W W L
L - W D L
L L - D L
L D D - L
W W W W -
अनमोल तालिका के लिए नमूना उत्पादन:
dunno mate
यह कोड गोल्फ है इसलिए बाइट्स जीत में सबसे छोटा कार्यक्रम है।
Pic संबंधित (जापान बनाम दक्षिण अफ्रीका):
