एक भीड़ भरे दृश्य में सांता और उसके हिरन का पता लगाएं।
इनपुट
इनपुट STDIN पर होगा और समान, लेकिन चर, लंबाई के वर्णों की एक चर संख्या होगी। यदि सांता (चरित्र द्वारा दर्शाया गया S) दृश्य में है, तो उसकी प्रस्तुतियाँ (चरित्र द्वारा दर्शाई गई) की बोरी उसके Pसमीप के पदों में से एक में होगी (क्षैतिज, लंबवत या तिरछे)। उनके हिरन (प्रत्येक चरित्र द्वारा दर्शाए गए R) सभी उनके आसपास के 5x5 वर्ग के भीतर होंगे। यदि Sउस दृश्य में एक दृश्य प्रस्तुत होता है जिसमें एक बोरी नहीं है, या कम से कम 4 हिरन के साथ नहीं है, तो यह सांता नहीं है।
उत्पादन
दृश्य ने सभी आक्षेप (सभी गैर-सांता, गैर-प्रस्तुत, गैर-हिरन पात्रों को एक स्थान से बदल दिया) को साफ कर दिया, सांता को दिखाते हुए, उनके प्रस्तुतिकरण के बोरी और उनके हिरन - अन्य सभी पात्रों को अंतरिक्ष से प्रतिस्थापित किया जाना चाहिए। यदि सांता और उसके हिरन दृश्य में नहीं हैं, तो आउटपुट अपरिवर्तित होता है। यह गारंटी है कि केवल एक ही समाधान होगा, इसलिए एक से अधिक वैध सांता कभी नहीं होंगे और वह कभी भी एक से अधिक बोरी प्रस्तुत नहीं करेंगे।
उदाहरण
इन उदाहरणों में मैं सिर्फ उपयोग कर रहा हूँ *यह देखना आसान बनाने के लिए चरित्र S, Pऔर Rवर्ण, लेकिन अपने कार्यक्रम से किसी भी ASCII वर्ण को संभालने के लिए सक्षम होना चाहिए !करने के लिए `(96 करने के लिए 33)। मैंने भ्रम से बचने के लिए निचले मामलों के पात्रों और ऊपर छोड़ दिया है।
इनपुट:
***********
***********
***********
*****R*****
******P****
*****S*****
*****R*****
****R**R***
***********
***********
***********
***********
आउटपुट: (डॉट्स पर ध्यान न दें, वे पृष्ठ को रिक्त लाइनें दिखाने के लिए बाध्य करने के लिए हैं)
.
.
.
R
P
S
R
R R
.
.
.
.
इनपुट: (पर्याप्त हिरन नहीं)
***********
***********
***********
***********
******P****
*****S*****
*****R*****
****R**R***
***********
***********
***********
***********
आउटपुट:
***********
***********
***********
***********
******P****
*****S*****
*****R*****
****R**R***
***********
***********
***********
***********
इनपुट: (कोई बोरी भेंट नहीं)
***********
***********
***********
*****R*****
***********
*****S*****
*****R*****
****R**R***
***********
***********
***********
***********
आउटपुट:
***********
***********
***********
*****R*****
***********
*****S*****
*****R*****
****R**R***
***********
***********
***********
***********
इनपुट: (पास पर्याप्त नहीं है)
***********
***********
***********
*****R*****
***********
*****S*P***
*****R*****
****R**R***
***********
***********
***********
***********
आउटपुट:
***********
***********
***********
*****R*****
***********
*****S*P***
*****R*****
****R**R***
***********
***********
***********
***********
इनपुट: (5x5 वर्ग में सांता के आसपास नहीं बारहसिंगा में से एक)
***********
***********
***********
*****R*****
******P****
*****S*****
*****R*****
****R******
*******R***
***********
***********
***********
आउटपुट:
***********
***********
***********
*****R*****
******P****
*****S*****
*****R*****
****R******
*******R***
***********
***********
***********
टेस्ट लिपियों
मेरे पिछले कुछ प्रश्नों के रूप में, मैंने एक बार फिर से कुछ परीक्षण स्क्रिप्ट तैयार की हैं जो मूल रूप से जॉय और वेंटरो द्वारा बनाई गई हैं, इस प्रश्न के लिए कुछ परीक्षण मामले प्रदान करने के लिए:
उपयोग: ./test [your program and its arguments]
संदर्भ के लिए परीक्षणों का सादा पाठ संस्करण: सादा पाठ
पुरस्कार
प्रत्येक प्रविष्टि जिसे मैं सत्यापित कर सकता हूं कि यह कल्पना से मिलता है, परीक्षण पास करता है और जाहिर है कि गोल्फ में कुछ प्रयास मुझे प्राप्त होगा (इसलिए कृपया अपने उत्तर के साथ उपयोग निर्देश प्रदान करें)। 31/12/2013 के अंत तक सबसे छोटा समाधान विजेता के रूप में स्वीकार किया जाएगा।