यह चुनौती बेस्ट ऑफ द ईयर पीपीसीजी 2015 के रूकी ऑफ द ईयर श्रेणी के विजेताओं के सम्मान में है : मैलाडिफ़िश ( मैं जिस भाषा की आपको तलाश कर रहा हूं वह नहीं है! ) और क्वार्टाटा ( इंप्लीमेंट ए ट्रूथ-मशीन के लिए )। बधाई हो!
पृष्ठभूमि
समुद्र की सबसे गहरी खाइयों में, एक दुर्लभ और मायावी चौकोर आकार की मछली रहती है जिसे क्वार्टेट-मछली कहा जाता है । यह गेम ऑफ लाइफ सेलुलर ऑटोमेटन से ग्लाइडर की तरह दिखता है । यहाँ विभिन्न आकारों की दो चौथाई मछली हैं:
-o-
--o
ooo
--oo--
--oo--
----oo
----oo
oooooo
oooooo
आप क्वार्टा-मछली की एक तस्वीर को स्नैप करने में कामयाब रहे हैं, लेकिन मछली को देखने के लिए मुश्किल है क्योंकि यह कीचड़ में ढंका है। अब आपको फोटो को साफ करने के लिए एक प्रोग्राम लिखना होगा।
इनपुट
आपका इनपुट अक्षरों का एक आयताकार 2D ग्रिड है .-o#
, जिसे एक नई लाइन-अलग स्ट्रिंग के रूप में दिया गया है। यदि आप चाहें, तो आप |
विभाजक के रूप में नईलाइन्स के बजाय पाइप का उपयोग कर सकते हैं , और आप एक अनुगामी और / या पूर्ववर्ती विभाजक मान सकते हैं।
इनपुट में कुछ ओर-लंबाई की बिल्कुल एक चौथाई मछली होगी 3*n
, जहां n ≥ 1
एक सकारात्मक पूर्णांक होता है, .
जो समुद्र तल का प्रतिनिधित्व करने वाली अवधि से घिरा होता है। मछली हमेशा ऊपर दर्शाए गए अभिविन्यास में होगी। इस ग्रिड पर ओवरलैड, हैश के बिल्कुल एक गैर-खाली आयताकार क्षेत्र होगा #
, जो कीचड़ की एक बूँद का प्रतिनिधित्व करता है। बूँद आंशिक रूप से या पूरी तरह से क्वारता-मछली को कवर कर सकती है। एक उदाहरण इनपुट होगा
............
..--oo--....
..--oo--....
..---#####..
..---#####..
..ooo#####..
..oooooo....
उत्पादन
आपके आउटपुट को वर्णों के साथ सभी हैश को बदलकर इनपुट से उत्पन्न किया जाएगा .-o
, ताकि ग्रिड में बिल्कुल एक चौथाई-मछली हो। इस प्रतिस्थापन को ठीक से करने का एक अनूठा तरीका हमेशा रहेगा; विशेष रूप से, कीचड़ की बूँद मछली को पूरी तरह से तभी ढकेगी जब उसका आकार 3 × 3 हो। आउटपुट इनपुट के समान विभाजक का उपयोग करेगा। उपरोक्त इनपुट के लिए, सही आउटपुट होगा
............
..--oo--....
..--oo--....
..----oo....
..----oo....
..oooooo....
..oooooo....
नियम और स्कोरिंग
आप एक पूर्ण कार्यक्रम या एक फ़ंक्शन लिख सकते हैं। सबसे कम बाइट गिनती जीतता है, और मानक खामियों को रोक दिया जाता है। कोई समय सीमा नहीं हैं: यदि आपका सबमिशन अंततः असीमित समय और संसाधनों को रोक देगा, तो आप ठीक हैं।
परीक्षण के मामलों
Input:
.......
...-o-.
...--o.
##.ooo.
##.....
Output:
.......
...-o-.
...--o.
...ooo.
.......
Input:
...-o-.
...-#o.
...ooo.
.......
Output:
...-o-.
...--o.
...ooo.
.......
Input:
.........
.###.....
.###.....
.ooo.....
Output:
.........
.-o-.....
.--o.....
.ooo.....
Input:
.....
.###.
.###.
.###.
Output:
.....
.-o-.
.--o.
.ooo.
Input:
......
......
......
...###
...###
...###
Output:
......
......
......
...-o-
...--o
...ooo
Input:
###o--....
###o--....
###-oo....
###-oo....
###ooo....
###ooo....
###.......
Output:
--oo--....
--oo--....
----oo....
----oo....
oooooo....
oooooo....
..........
Input:
............
..--oo--....
..--oo--....
..---#####..
..---#####..
..ooo#####..
..oooooo....
Output:
............
..--oo--....
..--oo--....
..----oo....
..----oo....
..oooooo....
..oooooo....
Input:
...--oo--....
.#########...
.#########...
.#########...
...oooooo....
...oooooo....
.............
.............
Output:
...--oo--....
...--oo--....
...----oo....
...----oo....
...oooooo....
...oooooo....
.............
.............
Input:
..............
..............
.########.....
.########.....
.########-....
.########-....
.########o....
.########o....
.########o....
.########o....
.########.....
..............
Output:
..............
..............
..............
..............
....--oo--....
....--oo--....
....----oo....
....----oo....
....oooooo....
....oooooo....
..............
..............
Input:
.................
.................
..---ooo---......
..--#########....
..--#########....
..--#########....
..--#########....
..--#########....
..oo#########....
..oo#########....
..oo#########....
....#########....
Output:
.................
.................
..---ooo---......
..---ooo---......
..---ooo---......
..------ooo......
..------ooo......
..------ooo......
..ooooooooo......
..ooooooooo......
..ooooooooo......
.................
Input:
.........................
.........................
....----oooo----.........
....----########.........
....----########.........
....----########.........
....----########.........
....----########.........
....----########.........
....----########.........
....oooo########.........
....oooo########.........
....oooooooooooo.........
....oooooooooooo.........
.........................
Output:
.........................
.........................
....----oooo----.........
....----oooo----.........
....----oooo----.........
....----oooo----.........
....--------oooo.........
....--------oooo.........
....--------oooo.........
....--------oooo.........
....oooooooooooo.........
....oooooooooooo.........
....oooooooooooo.........
....oooooooooooo.........
.........................
......|......|......|...###|...###|...###
(यदि कोई समाधान सभी संभव शीर्ष-बाएँ निर्देशांक की कोशिश करता है, और क्षेत्र पर एक 6x6 फिट करने की कोशिश करता है)