मैं ओबीआई (अंग्रेजी में ब्राजील के ओलंपियाड, अंग्रेजी में) में प्रतिस्पर्धा करूंगा और मैं पिछले वर्षों से कुछ अभ्यास करने की कोशिश कर रहा हूं।प्रोग्रामिंग एल्गोरिदम: प्रतिस्पर्धा के विजेता को ढूंढना
चॉकलेट प्रतियोगिता
कार्लोस और पाउला बस चॉकलेट गेंदों का एक बैग मिला: लेकिन मैं इस अभ्यास (मैं इसे अनुवाद, इसलिए वहाँ कुछ त्रुटियों हो सकता है) के लिए एक समाधान नहीं मिल रहा।
- वे बारी-बारी से खाते हैं, एक के बाद एक (पाउला हमेशा शुरू होता है): के रूप में वे बहुत जल्दी सब कुछ खाने के लिए, वे एक प्रतियोगिता बनाया है।
- हर बार, वे केवल 1 से एम गेंदों से खाते हैं, एम पाउला की मां द्वारा तय किया गया है, इसलिए वे चकित नहीं होते हैं।
- अगर किसी ने अपनी गेंदों में के गेंदों को खा लिया, तो अगला के गेंद नहीं खा सकता है।
- जो भी ऊपर नियमों के अनुसार खेल नहीं सकता है।
एम = 5 और 20 गेंदों के साथ नीचे दिए गए उदाहरण में, कार्लोस जीत लिया है:
Who plays How many ate Balls left
20
Paula 5 15
Carlos 4 11
Paula 3 8
Carlos 4 4
Paula 2 2
Carlos 1 1
ध्यान दें कि अंत में, कार्लोस 2 गेंदों नहीं खा सकता जीतने के लिए है, क्योंकि पाउला खाया 2 उसकी आखिरी बारी में। लेकिन पाउला आखिरी गेंद नहीं खा सके, क्योंकि कार्लोस ने आखिरी मोड़ में 1 खा लिया, इसलिए पाउला खेल नहीं सकता और हार नहीं सकता।
दोनों बहुत ही स्मार्ट हैं और बेहतरीन रूप से खेलते हैं। यदि मोड़ों का एक अनुक्रम है जो उसे दूसरे के मुकाबले से स्वतंत्र जीत सुनिश्चित करता है, तो वह इन अनुक्रमों को चलाएगा।
टास्क:
आपका काम जानने के लिए कि दोनों बेहतर खेलने जो प्रतियोगिता जीतने जाएगा।
इनपुट:
इनपुट केवल एक ही परीक्षण समूह है, जो मानक इनपुट (आमतौर पर कुंजीपटल) से पढ़ा जाना चाहिए होता है।
इनपुट में 2 पूर्णांक एन (2 ≤ एन ≤ 1000000) और एम (2 ≤ एम ≤ 1000) हैं, एन गेंदों की संख्या और एम प्रति मोड़ की अनुमति है।
आउटपुट:
आपका कार्यक्रम मानक आउटपुट में, प्रिंट चाहिए, विजेता के नाम वाले एक लाइन।
उदाहरण:
Input: Output:
5 3 Paula
20 5 Carlos
5 6 Paula
मैं समस्या को हल करने की कोशिश कर रहा हूँ, लेकिन मैं पता नहीं कैसे कर सकते है।
सी में एक समाधान यहां पाया जा सकता है: http://olimpiada.ic.unicamp.br/passadas/OBI2009/res_fase2_prog/programacao_n2/solucoes/chocolate.c.txt लेकिन मैं एल्गोरिदम को समझ नहीं सकता। किसी ने किसी अन्य साइट पर इस समस्या के बारे में एक प्रश्न पोस्ट किया, लेकिन किसी ने जवाब नहीं दिया।
क्या आप मुझे एल्गोरिदम समझा सकते हैं?http://olimpiada.ic.unicamp.br/passadas/OBI2009/res_fase2_prog/programacao_n2/gabaritos/chocolate.zip
आपका गेम गेम [निम] (http://en.wikipedia.org/wiki/Nim) के समान लगता है - शायद एक परिपूर्ण गेम खेलने के लिए एल्गोरिदम भी इस गेम को समझने के लिए उपयोगी है? – sarnold
इसे 'सैद्धांतिक सीएस' मंच पर जाना पड़ सकता है –
आप इसे किस भाषा में हल करने की कोशिश कर रहे हैं? जब मैं इन समस्याओं की बात करता हूं तो मैं सबसे बुद्धिमान व्यक्ति नहीं हूं लेकिन मुझे लगता है कि एक डीबगर के साथ एक साधारण मामले के माध्यम से एल्गोरिदम को समझने में बहुत मददगार होता है।बीआरबी - मैं एक समाधान को हल करने और कोड करने जा रहा हूं (तब तक मुझे लगता है कि किसी ने इसका जवाब दिया होगा) –