मान लीजिए कि दो खिलाड़ी अमल और बिमल हैं। वे एक खेल खेल रहे हैं। खेल के नियम इस प्रकार हैं -
-
दोनों खिलाड़ियों का एक ही स्ट्रिंग s है।
-
उन दोनों को s के अक्षरों का उपयोग करके सबस्ट्रिंग बनाना है।
-
बिमल को व्यंजन से शुरू होने वाले शब्द बनाने हैं।
-
अमल को स्वरों से शुरू होने वाले शब्द बनाने होते हैं।
-
खेल समाप्त हो जाएगा जब दोनों खिलाड़ियों ने सभी संभव विकल्प बना लिए हैं।
अब स्कोरिंग मानदंड इस प्रकार है:एक खिलाड़ी स्ट्रिंग s में सबस्ट्रिंग की प्रत्येक घटना के लिए 1 अंक प्राप्त करता है। हमें इस गेम के विजेता और उसके स्कोर को ढूंढना है।
इसलिए, यदि इनपुट s ="BANANA" जैसा है, तो आउटपुट बिमल होगा, 12 क्योंकि
शब्द :BANANA | |||
अमल | बिमल(विजेता) | ||
सबस्ट्रिंग | स्कोर | सबस्ट्रिंग | स्कोर |
A | 3 | B | 1 |
AN | 2 | N | 2 |
ANA | 2 | BA | 1 |
ANAN | 1 | NA | 2 |
ANANA | 1 | BAN | 1 |
| <टीडी> NAN | 1 | |
| <टीडी> BANA | 1 | |
| <टीडी> नाना | 1 | |
| <टीडी> BANAN | 1 | |
| <टीडी> BANANA | 1 | |
कुल 9 | कुल 12 |
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- स्वर :=स्वरों का समूह
- p1 :=0
- p2 :=0
- शब्द में प्रत्येक अनुक्रमणिका i और वर्ण c के लिए, करें
- यदि c एक स्वर है, तो
- p2 :=p2 + शब्द का आकार - i
- अन्यथा,
- p1 :=p1 + शब्द का आकार - i
- यदि c एक स्वर है, तो
- अगर p1> p2, तो
- रिटर्न 'बिमल', p1
- अन्यथा जब p2> p1, तब
- रिटर्न 'अमल', p2
- अन्यथा,
- वापस 'ड्रा' करें
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें
def solve(word): vowels = set('AEIOU') p1 = 0 p2 = 0 for i, c in enumerate(word): if c in vowels: p2 += len(word) - i else: p1 += len(word) - i if p1 > p2: return 'Bimal', p1 elif p2 > p1: return 'Amal', p2 else: return 'Draw' word = "BANANA" print(solve(word))
इनपुट
"BANANA"
आउटपुट
('Bimal', 12)