मेरे द्वारा हमेशा पोकेमॉन को पसंद करने के कारणों में से एक है क्योंकि इस तरह के एक सरल-प्रतीत होने वाले खेल के लिए, इसमें जटिलता की बहुत सारी परतें हैं। आइए चाल हिडन पावर पर विचार करें। खेल में, हिडन पावर का प्रकार और शक्ति (जनरेशन VI से पहले कम से कम) हर Pokemon के लिए अलग है जो इसका उपयोग करता है! यह बहुत अच्छा है, है ना? अब, क्या आप आश्चर्यचकित होंगे अगर मैंने आपको बताया कि हिडन पावर का प्रकार और शक्ति यादृच्छिक रूप से उत्पन्न नहीं हुई है?
सभी पोकेमॉन गेम्स में, सभी पोकेमॉन (आपकी पार्टी में सभी, सभी POKEMON नहीं) के पास छह आंतरिक रूप से संग्रहीत पूर्णांक हैं (एक एचपी स्टेट के लिए, एक अटैक स्टेट के लिए, एक डिफेंस स्टेट के लिए, एक विशेष हमले स्टेट के लिए,) विशेष रक्षा स्टेट के लिए एक और स्पीड स्टेट के लिए एक) को उनके व्यक्तिगत मूल्य या IVs कहा जाता है । ये मान 0 से 31 के बीच होते हैं, और वे अनिवार्य रूप से कुछ कारकों में से एक हैं जो पोकेमॉन के समग्र आंकड़ों को प्रभावित करते हैं। फिर भी, वे हिडन पावर के प्रकार और शक्ति का निर्धारण करते हैं!
जनरेशन III से V में (जिन पीढ़ियों का एल्गोरिथम हम कार्यान्वित करेंगे), हिडन पावर का प्रकार निम्न सूत्र द्वारा निर्धारित किया जाता है (फर्श कोष्ठक पर ध्यान दें, इसका मतलब है कि आपको परिणाम को गोल करने की आवश्यकता है):
जहां a, b, c, d, e और f HP के सबसे कम महत्वपूर्ण बिट्स हैं, अटैक, डिफेंस, स्पीड, स्प। हमला, और सपा। क्रमशः रक्षा IVs। (कम से कम महत्वपूर्ण बिट IV मॉड 2 है।) यहां उत्पादित संख्या को इस चार्ट का उपयोग करके वास्तविक प्रकार में परिवर्तित किया जा सकता है:
0 Fighting
1 Flying
2 Poison
3 Ground
4 Rock
5 Bug
6 Ghost
7 Steel
8 Fire
9 Water
10 Grass
11 Electric
12 Psychic
13 Ice
14 Dragon
15 Dark
शक्ति के लिए, एक समान सूत्र का उपयोग किया जाता है:
यहाँ, हालांकि, यू, वी, डब्ल्यू, एक्स, वाई और जेड एचपी के दूसरे सबसे कम महत्वपूर्ण बिट का प्रतिनिधित्व करते हैं, हमला, रक्षा, गति, सपा। हमला और सपा। रक्षा IVs (उस क्रम में फिर से)। (दूसरा कम से कम महत्वपूर्ण बिट अधिक जटिल है तो कम से कम महत्वपूर्ण बिट है। यदि IV मॉड 4 2 या 3 है, तो बिट 1 है, अन्यथा यह 0. है। यदि आपकी भाषा में किसी प्रकार का अंतर्निहित या कम से कम अधिक चतुर तरीका है ऐसा करने के लिए, आपको शायद इसका इस्तेमाल करना चाहिए।)
इसलिए, जैसा कि आप शायद पहले से ही समझ चुके हैं, यहां चुनौती एक प्रोग्राम लिखने की है जो कि STDIN के माध्यम से रिक्त स्थान द्वारा अलग किए गए छह पूर्णांकों में ले जाता है जो HP, Attack, Defence, Speed, Sp का प्रतिनिधित्व करते हैं। हमला और सपा। एक Pokemon की रक्षा IVs (उस क्रम में) और उस Pokemon की हिडन पावर के प्रकार और शक्ति का उत्पादन करता है।
नमूना इनपुट:
30 31 31 31 30 31
नमूना उत्पादन:
Grass 70
नमूना इनपुट:
16 18 25 13 30 22
नमूना उत्पादन:
Poison 61
यह कोड-गोल्फ है, इसलिए सबसे छोटा कोड जीतता है। सौभाग्य!
(और लोगों के पूछने से पहले, मैंने यहां जेनरेशन वी एल्गोरिथम का इस्तेमाल किया क्योंकि जेनरेशन VI पावर रेंडमाइजेशन से छुटकारा दिलाता है और इसे हमेशा 60 बनाता है। न केवल मुझे लगता है कि यह अविश्वसनीय रूप से लंगड़ा है, मुझे लगता है कि यह चुनौती बहुत कम इंटरेस्टिंग करता है। चुनौती के उद्देश्यों के लिए, हम एक जनरल वी गेम चला रहे हैं।)

