चुनौती
ASCII mazes को संपीड़ित करने के लिए विशेष संपीड़न एल्गोरिदम डिज़ाइन करें। आपको एक संपीड़न एल्गोरिथ्म और एक विघटन एल्गोरिथ्म दोनों बनाने की आवश्यकता होगी। आपका स्कोर आपके संकुचित mazes के आकार पर आधारित होगा।
mazes
इन mazes के मुख्य रूप से पात्रों के बने होते हैं (फर्श),
+
, -
, |
, और #
(दीवारों), और ठीक एक से प्रत्येक ^
(शुरू) और $
(अंत)। उनमें ASCII अक्षर भी हो सकते हैं, जो फर्श टाइल्स के रूप में गिने जाते हैं। इस चुनौती के प्रयोजनों के लिए, mazes को हल करने की आवश्यकता नहीं है और भूलभुलैया की सामग्री का वास्तविक अर्थ अप्रासंगिक है।
+
दीवार की कोशिकाओं के लिए उपयोग किया जाएगा जहां कम से कम एक क्षैतिज रूप से आसन्न दीवार सेल है और कम से कम एक लंबवत आसन्न दीवार सेल है।|
दीवार की कोशिकाओं के लिए उपयोग किया जाएगा जहां कम से कम एक लंबवत आसन्न दीवार सेल है, लेकिन क्षैतिज रूप से आसन्न दीवार कोशिकाएं नहीं हैं।-
दीवार कोशिकाओं के लिए उपयोग किया जाएगा जहां कम से कम एक क्षैतिज रूप से आसन्न दीवार सेल है, लेकिन लंबवत रूप से आसन्न दीवार सेल नहीं है#
का उपयोग केवल उन दीवार कोशिकाओं के लिए किया जाएगा जो अन्य दीवार कोशिकाओं के निकट orthogonally नहीं हैं।
सभी mazes आयताकार हैं, लेकिन जरूरी नहीं कि एक नियमित ग्रिड / दीवार संरेखण हो।
को कम करने के लिए Mazes
भूलभुलैया 1
+----+----
| o | |
| -- | o--+
| | | $
--^-+-+---
भूलभुलैया 2
+-----+---+
| a | |
^ +-+-+ # |
| | | B |
| | | --+ |
| c | $
+-------+--
भूलभुलैया 3
----------+-+-+-----+-+
^ | | | | |
+-- --+R # | |p| | | |
| | | | | |
+---+ +-+-+-- +-+ | | |
| m| | | | | | | |
| +-+ | | | | | --+ | |
| | | h | | | | |
| | | | | | # --+-+ |
| | | | | | S| $
+-----+-+-+-+-+---+----
भूलभुलैया ४
+-----+---+-+---+-------^-----+
| |x | | | tsrq |
+-+-- +-- | +-- # --+---- --+
| | | | | |
| | | | | +-+-+---+ | +-- | +-+
| | | u | | | | | | | | |
| +-+ | | | | +---- +-+---+ | |
| | | | | y | w |
| | --+ | --+ +-- | +---- | | |
| | | | | | | | | |
+-- --+ +-+ | | | | +-- | +-+-+
| | | | | | | | | |
$ | --+-+ | --+-+ | +-+-+-- --+
| | | z| | | v |
+-+---+-------+---+---+-------+
भूलभुलैया ५
++ -----------+
++- Beep|
$ ----+---+--+
+-+boop| | |
| +--- | | | ++
| | | +++
+------+-+--+ ^
भूलभुलैया ६
+-$---------------+-+--
| | |j
| |l ---- # ---+ | |
| | | m | +--+ |
| | | +-+---- # |
| | | | | +----+ |
|o| | | | +----+ | |
| | | | -- | |
| | | | | | -+ | | |
| | | | | | | +--- | |
| | | | +- | | | | ++
+-+ |n| | | ++ +--+ |
| | -+- | | | +-
+---+ +--- | | | ^
| | --+ --+ | |
| -- | | k | | ++
| | | +--- | ++
| | | | | |
+-- -+---- | +----+--+
भूलभुलैया 7
+---+-+-------------+-+^+-----+-------+---+-+---+-+---+-+---+
| |c| | | | c | | | | | | |c| |
+-- | | +-- +-- # | | | +-- --+ +---- +-- | +-+ | | +-+ | --+
| | | | | | | | |c| | |
| | +-- | +-+-- +-+ +-- # +- # -+-- +-- | | --+ | | | | --+C|
|c| | | | c | | |c | | | |
+-+-+---+-+-----+---------+---------+---+-------------+---+$|
भूलभुलैया 8
------+-+-+---+-+---+-----------+---+-----+---------------+-+
^ | | | | | | | | | r | |
+-- | | | t | | +-- +----- # ---+-- +-- --+-- ----+-+ --+ | |
| | | | | | | r | | | | | |
| | | | | +-+ --+ --+-- --------+-- | ----+ --+ | | | --+ | |
| |r| | rotation | | | | | | $
+-+-+-+-----------------------------------+---+-+---+---+-+--
भूलभुलैया 9
|$|^--+-+---+-----+-+---+-+-+---+---+-+---+-----+
| | | | | | | | | | f | | | | |
| +-+ | | # +-+ --+ +-+ | | | # | +-+ +-- | ----+
| | | | f| | | | | | f |
| |F+-+ | | | | +---+ | | | ----+-+ | | --+ --+-+
| | | | | | | | | f | | | |
| | | | +-+-+---+-- | | | +-+-+-+ +-+ +--- # -+ |
| | | | | | | | | | | | | | |
+-+-+ | +---+ --+ | +---+-+ | | --+ f | | | | --+
| | | | | | | | | |
| --+f| | | +-- --+--f--+ --+ | ----+ | +-+ +---+
| | | | | | | | | |
+---+-----+-+-----+-----+---+-+-----------+-----+
भूलभुलैया १०
+-----+-+-----------+
| q | | q |
|Q+-+ | +-+-+-+---- |
$ | | | | | q |
+-+ | | | | | +-- +-+
| | | | | | |
| +-- +-+ |q| +-+ | |
| q| | | | |
| | | +-- | +-+ | --+
| | | | | | | |
+-+-+-+ +-+-+ +-- | |
| | | |
+--- # -+ | | +-- | |
| q | | | | ^
+-+ +-- | | +-+ | +-+
| | | | |q| | |
| +-+-+ | +-+-- | | |
| | | | | | |
| | | +-+-+-- +-+ +-+
| | | | q |
+-+-+---------+-----+
नियम, मान लेना, स्कोर करना
- मानक खामियों पर रोक लगाई जाती है
- एक सामान्य कार्यक्रम लिखें, एक नहीं जो केवल दस परीक्षण मामलों के लिए काम करता है। यह किसी भी मनमाने चक्रव्यूह को संभालने में सक्षम होना चाहिए।
- आप मान सकते हैं कि वास्तव में एक प्रवेश द्वार और एक निकास होगा। प्रवेश और निकास हमेशा भूलभुलैया की सीमा पर होंगे।
- आप मान सकते हैं कि सभी इनपुट दीवारों का उपयोग करते हैं जो ऊपर उल्लिखित नियमों का पालन करते हैं। आपकी कम्प्रेशन एल्गोरिथ्म में उन नियमों का उल्लंघन करने वाली दीवारों वाले मज़ारों के लिए काम नहीं करना पड़ता है।
- इनपुट माज़े सॉल्व हो सकते हैं या नहीं भी।
- आप मान सकते हैं कि भूलभुलैया किसी भी दिशा में 100 वर्णों से बड़ी नहीं होगी।
- आप मान सकते हैं कि पत्र भूलभुलैया के किनारे पर दिखाई नहीं देंगे। (चूंकि यह उदाहरण दिए गए उदाहरणों के लिए मामला है)
- आपका स्कोर कुल आकार का है, बाइट्स (ओकटेट्स) में, सभी संपीड़ित माज़ों का।
- यदि आप अधिक सुविधाजनक पाते हैं तो आप अपने संकुचित भूलभुलैया के प्रतिनिधित्व के रूप में हेक्स, बेस 64, बाइनरी स्ट्रिंग्स या किसी भी समान प्रारूप का उपयोग कर सकते हैं। आपको अभी भी पूरे ऑक्टेट में परिणाम की गणना करनी चाहिए, प्रत्येक भूलभुलैया के लिए गोल किया जाना चाहिए (जैसे 4 बेस 64 अंक 3 बाइट्स हैं, 2 हेक्स अंक 1 बाइट है, 8 बाइनरी अंक 1 बाइट है, आदि ...)
- सबसे कम स्कोर जीत!