छोटे घरेलू जानवरों पर प्रयोग के साथ , नोबेल पुरस्कार विजेता एरविन श्रोडिंगर ने निकटतम लेजर खोजने और इसके बजाय चीजों पर शूट करने का फैसला किया है। क्योंकि ... विज्ञान!
विवरण
आप दो अंक है कि लेजर के माध्यम से गुजरता है और एक लेजर बीम का आकार दिया जाएगा, और आप यह निर्धारित करना चाहिए जहां लेजर बीम चाहिए चले गए हैं, हो सकता है चले गए हैं, और नहीं कर सकता चले गए हैं।
लेजर बीम क्षैतिज, ऊर्ध्वाधर या विकर्ण हो सकता है। आकार 1 लेजर बीम के लिए, वे क्रमशः इस तरह दिखते हैं:
# #
# #
##### # #
# #
# #
विकर्ण लेजर बीम को भी फ़्लिप किया जा सकता है। आकार 2 लेजर बीम इस तरह दिखते हैं:
### ##
##### ### ###
##### ### ###
##### ### ###
### ##
सामान्य तौर पर, आकार की लेजर बीम (एन) प्राप्त करने के लिए, बस आकार के लेजर बीम (एन -1) को लें और दोनों पक्षों पर आकार के लेजर बीम (1) जोड़ें। अंतिम उदाहरण के रूप में, यहां आकार 3 के सभी संभावित लेजर बीम हैं, जिन्हें "बोर्ड" पर दिखाया गया है:
###.....#####.....##
####....#####....###
#####...#####...####
.#####..#####..#####
..#####.#####.#####.
...###############..
....#############...
.....###########....
####################
####################
####################
####################
####################
.....###########....
....#############...
...###############..
..#####.#####.#####.
.#####..#####..#####
#####...#####...####
####....#####....###
इस "बोर्ड" में हमेशा 20x20 (वर्णों में) के आयाम होंगे।
इनपुट
आपके प्रोग्राम को इनपुट के रूप में पाँच पूर्णांक दिए जाएंगे। वे क्रम में हैं, एक्स 1 , वाई 1 , एक्स 2 , वाई 2 , और लेजर बीम का आकार। उन्हें ठीक उसी क्रम में लिया जाना चाहिए। यदि आप चाहें, तो आप ऑर्डर (x, y) जोड़े को एक सरणी, टपल, सूची, या अन्य अंतर्निहित डेटा प्रकार के रूप में ले सकते हैं जो दो मूल्यों को संग्रहीत करता है।
इनपुट के रूप में दिए गए दोनों दो बिंदु बोर्ड के भीतर होंगे, और उन्हें अलग होने की गारंटी दी जाएगी (यानी दोनों बिंदु कभी भी समान नहीं होंगे)। लेजर बीम का आकार बाध्य है 1 ≤ size < 20। हमेशा कम से कम एक संभव लेजर बीम होगा जो दोनों बिंदुओं से गुजरता है।
उत्पादन
आपके प्रोग्राम को निम्न वर्णों का 20x20 ग्रिड आउटपुट करना चाहिए:
#अगर हर संभव लेजर बीम जो दो बिंदुओं से गुजरती है, इस बिंदु से भी गुजरती है।.अगर कोई लेज़र बीम नहीं है जो दो बिंदुओं और इस बिंदु से गुजरता है।?यदि कुछ है, लेकिन सभी नहीं, संभव लेजर बीम इस बिंदु से गुजरते हैं।Xयदि यह दो मूल इनपुट बिंदुओं में से एक है (यह ओवरराइड करता है#)।
परीक्षण के मामलों
7, 7, 11, 3, 1
..............#.....
.............#......
............#.......
...........X........
..........#.........
.........#..........
........#...........
.......X............
......#.............
.....#..............
....#...............
...#................
..#.................
.#..................
#...................
....................
....................
....................
....................
....................
18, 18, 1, 1, 2
#??.................
?X??................
??#??...............
.??#??..............
..??#??.............
...??#??............
....??#??...........
.....??#??..........
......??#??.........
.......??#??........
........??#??.......
.........??#??......
..........??#??.....
...........??#??....
............??#??...
.............??#??..
..............??#??.
...............??#??
................??X?
.................??#
10, 10, 11, 10, 3
?????..????????..???
??????.????????.????
????????????????????
????????????????????
.???????????????????
..??????????????????
????????????????????
????????????????????
????????????????????
????????????????????
??????????XX????????
????????????????????
????????????????????
????????????????????
????????????????????
..??????????????????
.???????????????????
????????????????????
????????????????????
??????.????????.????
3, 3, 8, 10, 4
??????????..........
??????????..........
??????????..........
???X??????..........
???##?????..........
???###????..........
????###????.........
.????###????........
..????###????.......
..?????##?????......
..??????X??????.....
..??????????????....
..???????????????...
..????????????????..
..?????????????????.
..??????????????????
..??????????????????
..????????.?????????
..????????..????????
..????????...???????
परीक्षण के मामले ऊर्ध्वाधर अंतरिक्ष के संरक्षण के लिए स्टैक स्निपेट के अंदर स्थित रूबी लिपि के साथ उत्पन्न हुए थे।
नियम
आपका कार्यक्रम 30 सेकंड (उचित मशीन पर) के तहत परीक्षण के प्रत्येक मामले को हल करने में सक्षम होना चाहिए। यह एक पवित्रता जांच से अधिक है, क्योंकि मेरे परीक्षण रूबी कार्यक्रम ने परीक्षण के सभी मामलों को तत्काल पास से हल किया।
यह कोड-गोल्फ है , इसलिए सबसे छोटा समाधान जीतता है।
2 * size - 1। आकार 1 1 पिक्सेल है, आकार 2 3 पिक्सेल है, आकार 3 5 पिक्सेल है (ऊपर उदाहरण देखें), आकार 4 7 पिक्सेल है।