ट्रैक
/
Java
Java
/
अभ्यास
/
भूलभुलैया के चूहे
भूलभुलैया के चूहे

भूलभुलैया के चूहे

कठिन

परिचय

मिकी और मिनर्वा से मिलिए। ये दो चतुर चूहे हैं, जिन्हें भूलभुलैया में रास्ता ढूँढते हुए पनीर तक पहुँचना बहुत पसंद है। उन्हें चैलेंज पसंद है, लेकिन उनका दिमाग छोटा है, इसलिए वे चाहते हैं कि पनीर तक पहुँचने का सिर्फ एक ही सही रास्ता हो।

निर्देश

आपको Mickey और Minerva के लिए परफेक्ट भूलभुलैया बनानी है, यानी ऐसी भूलभुलैया जिसका सिर्फ एक ही हल हो और जिसमें कोई अलग-थलग हिस्सा न हो। आपको ये बातें जाननी ज़रूरी हैं:

  • भूलभुलैया आयत के आकार की होती है, जिसके आरंभ और अंत में एक-एक द्वार होता है।
  • भूलभुलैया में कमरे और रास्ते होते हैं, जो एक-दूसरे को समकोण पर काटते हैं।
  • प्रोग्राम को दो पैरामीटर लेने चाहिए: rows और columns. भूलभुलैया 5 से 100 खानों के बीच की होनी चाहिए।
  • जो भूलभुलैया x कॉलम चौड़ी और y पंक्ति ऊँची हो, वह 2x + 1 अक्षर चौड़ी और 2y + 1 अक्षर ऊँची होनी चाहिए।
  • अगर कोई सीड न दिया जाए, तो रैंडम भूलभुलैया बनाइए। अगर एक ही सीड कई बार दिया जाए, तो हर बार बनने वाली भूलभुलैया एक जैसी होनी चाहिए।
  • दीवारें खींचने के लिए बॉक्स-ड्रॉइंग अक्षरों का इस्तेमाल कीजिए, और बाईं ओर के प्रवेश द्वार तथा दाईं ओर के निकास के लिए तीर का चिह्न (⇨) लगाइए।

अब इन साहसी चूहों के लिए कुछ परफेक्ट भूलभुलैया बनाने का समय है!

उदाहरण

  1. एक छोटी वर्गाकार भूलभुलैया, 5x5 खाने (या 11x11 अक्षर)

    ┌───────┬─┐
    │       │ │
    │ ┌─┬── │ │
    │ │ │   │ ⇨
    │ │ │ ──┤ │
    ⇨ │ │   │ │
    ┌─┤ └── │ │
    │ │     │ │
    │ │ ────┘ │
    │         │
    └─────────┘
    
  2. एक आयताकार भूलभुलैया, 6x18 खाने

    ┌───────────┬─────────┬───────────┬─┐
    │           │         │           │ │
    │ ┌───────┐ │ ┌─┐ ──┐ └───┐ ┌───┐ │ │
    │ │       │ │ │ │   │     │ │   │   ⇨
    │ └─┐ ┌─┐ │ │ │ ├── ├───┐ │ │ ──┼── │
    │   │ │ │   │   │   │   │ │ │   │   │
    └── │ │ ├───┴───┤ ┌─┘ ┌─┘ │ ├── │ ──┤
    ⇨   │   │       │ │   │   │ │   │   │
    ┌─┬─┴─┐ └─┐ ┌─┐ │ └─┐ │ ┌─┘ │ ──┴─┐ │
    │ │   │   │ │ │ │   │   │   │     │ │
    │ │ │ └── │ │ │ └── │ ──┘ ┌─┘ ──┐ │ │
    │   │       │       │     │     │   │
    └───┴───────┴───────┴─────┴─────┴───┘
    
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Java Exercism

भूलभुलैया के चूहे शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Java को 26 कॉन्सेप्ट158 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।