पृष्ठभूमि
बोगल एक बोर्ड गेम है जहां खिलाड़ियों को यादृच्छिक वर्णमाला के 4-बाय -4 बोर्ड पर अंग्रेजी शब्द ढूंढने होते हैं। बोर्ड पर क्रमिक रूप से आसन्न कोशिकाओं का चयन करके शब्दों का निर्माण किया जा सकता है। ("निकटवर्ती" का अर्थ है क्षैतिज, लंबवत या तिरछे आसन्न।) साथ ही, एक शब्द में एक से अधिक बार एक ही सेल का उपयोग नहीं किया जा सकता है।
निम्नलिखित एक उदाहरण बोर्ड है:
I L A W
B N G E
I U A O
A S R L
इस बोर्ड पर, BINGO, ORANGEऔर WEARSवैध शब्द हैं, लेकिन SURGEऔर RUSSIAनहीं कर रहे हैं:
SURGE: बोर्ड पर कोई आसन्न जोड़ी नहीं हैRG।RUSSIA:Sदो बार इस्तेमाल नहीं किया जा सकता।
संशोधित बोगल निम्नलिखित नियमों के साथ बोगल का एक संशोधित संस्करण है:
- बोर्ड का आकार
n-by हैn, जहांnकोई भी धनात्मक पूर्णांक हो सकता है। - प्रत्येक सेल में 0 और 255 समावेशी के बीच कोई भी एक बाइट हो सकती है।
- एक सेल का उपयोग एक से अधिक बार किया जा सकता है, लेकिन एक पंक्ति में दो बार नहीं ।
ऊपर दिए गए उदाहरण बोर्ड का उपयोग करना BINGO, ORANGEऔर WEARS, LANGUAGEएक वैध स्ट्रिंग बन जाता है (चूंकि Gदो बार उपयोग किया जाता है, लेकिन एक पंक्ति में दो बार नहीं) लेकिन फिर RUSSIAभी ( SSजोड़ी के कारण ) नहीं है।
कोड टुकड़ा का उपयोग करके यहां एक और उदाहरण दिया गया है। स्ट्रिंग from itertools import*\nनिम्नलिखित बोर्ड पर पाया जा सकता है, लेकिन नहीं from itertoosl import*या from itertools import *:
f i ' ' s
r t m l
e o o p
\n * t r
ध्यान दें कि आपको अनुक्रम oसे मेल खाने के लिए दो की आवश्यकता है oo।
चुनौती
एक फ़ंक्शन या प्रोग्राम लिखें, जो एक संशोधित बोगल बोर्ड B(किसी भी आकार का) और एक स्ट्रिंग दिया जाता है s, यह निर्धारित करता है कि sक्या पाया जा सकता है B।
प्रतिबंध
आपका कोड खुद भी एक संशोधित बोगल बोर्ड पर फिट होना चाहिए b। यही है, आपको bअपने कोड के साथ अपने सबमिशन में बोर्ड दिखाना होगा , ताकि आपका फ़ंक्शन / प्रोग्राम आउटपुट सही हो जाए bऔर यह आपके इनपुट पर कोड हो।
स्कोरिंग
आपके सबमिशन का स्कोर सबसे छोटे बोर्ड की साइड लंबाई है bजहां आप अपना कोड फिट कर सकते हैं। सामान्य कोड-गोल्फ नियम, यानी बाइट्स में आपके कोड की लंबाई से संबंध टूट जाते हैं । सबसे कम स्कोर (दोनों मानदंडों के लिए) के साथ सबमिशन जीतता है।
उदाहरण के लिए, from itertools import*\n4 के स्कोर (ऊपर बोर्ड का उपयोग करके) और 23 बाइट्स की कोड लंबाई है।
इनपुट और आउटपुट
इनपुट के लिए, आप दोनों के लिए किसी भी सुविधाजनक तरीका ले जा सकते हैं Bऔर s। इसमें वर्णों की सूची और चार्ट की सूची, 2D या चपटा या जो कुछ भी समझ में आता है। इसके अलावा, आप वैकल्पिक रूप से इनपुट के एक भाग के रूप में बोर्ड का आकार ले सकते हैं।
आउटपुट के लिए, आप निम्न में से एक चुन सकते हैं:
- आपकी भाषा के सम्मेलन के बाद सत्य और मिथ्या मूल्य, या
- सही और गलत के लिए एक पूर्वनिर्धारित मूल्य क्रमशः।
कृपया अपनी प्रविष्टि में अपना इनपुट / आउटपुट विधि निर्दिष्ट करें।
+=+=कुछ करते हैं। समस्या है ==आउटपुट फंक्शन ...