कभी-कभी जब मैं डूडलिंग कर रहा होता हूं, तो मैं एक आयत खींचता हूं, एक कोने से एक विकर्ण के साथ शुरू करता हूं, और फिर जब भी मैं आयत के एक तरफ से टकराता हूं तो इसे "प्रतिबिंबित" करके एक रेखा का पता लगाता हूं। मैं इसे तब तक जारी रखता हूं जब तक कि मैं आयत के दूसरे कोने को नहीं मारता (और आशा करता हूं कि मेरी आयत का पहलू अनुपात तर्कहीन नहीं था;))। यह एक बॉक्स में लेज़र शोन के रास्ते को ट्रेस करने जैसा है। आप ASCII कला के साथ उस का परिणाम तैयार कर रहे हैं।
एक उदाहरण के रूप में, चौड़ाई 5
और ऊंचाई के एक बॉक्स पर विचार करें 3
। हम हमेशा ऊपरी बाएँ कोने में शुरू करेंगे। #
निशान बॉक्स की सीमा। ध्यान दें कि चौड़ाई और ऊंचाई आंतरिक आयामों को संदर्भित करती है।
####### ####### ####### ####### ####### ####### #######
#\ # #\ # #\ \# #\ /\# #\ /\# #\/ /\# #\/\/\#
# \ # # \ /# # \ /# # \/ /# # \/ /# #/\/ /# #/\/\/#
# \ # # \/ # # \/ # # /\/ # #\/\/ # #\/\/ # #\/\/\#
####### ####### ####### ####### ####### ####### #######
चुनौती
बॉक्स की सकारात्मक (सकारात्मक) चौड़ाई और ऊंचाई को देखते हुए, आपको लेजर का पता लगाने के अंतिम परिणाम का उत्पादन करना चाहिए। आप STDIN (या निकटतम विकल्प), कमांड-लाइन तर्क, फ़ंक्शन तर्क और इनपुट के माध्यम से परिणाम ले रहे हैं या STDOUT (या निकटतम वैकल्पिक), या फ़ंक्शन रिटर्न मान या तर्क के माध्यम से परिणाम लिख सकते हैं।
आप इनपुट के लिए किसी भी सुविधाजनक सूची, स्ट्रिंग या संख्या प्रारूप का उपयोग कर सकते हैं। आउटपुट एक स्ट्रिंग होना चाहिए (जब तक कि आप इसे STDOUT में प्रिंट नहीं करते हैं, जिसे आप निश्चित रूप से धीरे-धीरे कर सकते हैं)। इसका मतलब यह भी है कि आप ऊँचाई पहले और चौड़ाई दूसरी ले सकते हैं - बस अपने उत्तर में सटीक इनपुट प्रारूप निर्दिष्ट करें।
आउटपुट की किसी भी लाइन पर न तो लीडिंग होनी चाहिए और न ही व्हाट्सएप। आप वैकल्पिक रूप से एक एकल अनुगामी न्यूलाइन का उत्पादन कर सकते हैं।
आपको अंतरिक्ष का उपयोग करना चाहिए /
, \
और #
परीक्षण मामलों को बिल्कुल वैसा ही दिखाना चाहिए जैसा कि दिखाया गया है।
परीक्षण के मामलों
2 2
####
#\ #
# \#
####
3 2
#####
#\/\#
#/\/#
#####
6 3
########
#\ /#
# \ / #
# \/ #
########
7 1
#########
#\/\/\/\#
#########
1 3
###
#\#
#/#
#\#
###
7 5
#########
#\/\/\/\#
#/\/\/\/#
#\/\/\/\#
#/\/\/\/#
#\/\/\/\#
#########
22 6
########################
#\ /\ /\ /\ /\ /\ #
# \/ \/ \/ \/ \/ \#
# /\ /\ /\ /\ /\ /#
#/ \/ \/ \/ \/ \/ #
#\ /\ /\ /\ /\ /\ #
# \/ \/ \/ \/ \/ \#
########################
X
क्रॉसिंग के लिए आवश्यक होंगे। शायद अगली बार। ;)