बधाई हो! आपको नासा द्वारा नए हॉरिज़न 2 प्रोजेक्ट पर काम करने के लिए बस काम पर रखा गया है।
अफसोस की बात है कि हाल ही में भारी बजट में कटौती हुई है, इसलिए शीर्ष प्रबंधन ने पूरी योजना बनाई प्लूटो फ्लाईबी (जैसा कि उन्होंने 70 के दशक में चंद्रमा की लैंडिंग के लिए किया था) को नकली करने का फैसला किया है।
आपका कार्य एक कार्यक्रम लिखना है जो प्रारूप में एक तारीख के रूप में स्वीकार करेगा yyyymmdd
, और इस तिथि के लिए प्लूटो की एक नकली तस्वीर प्रदान करेगा। आप मान सकते हैं कि प्रवेश तिथि वर्ष 2015 या 2016 में होगी।
तस्वीर ASCII वर्णों का 15x15 ग्रिड है। ग्रिड के पात्रों में रेंज के भीतर उनके x- और y- निर्देशांक होते हैं [-7, 7]
- शीर्ष-बाएँ वर्ण (-7, -7)
उस समय होता है जबकि नीचे-दाएँ वर्ण होता है (7, 7)
।
फोटोग्राफ की गणना निम्नलिखित नियमों के साथ की जाएगी:
- जांच 25/12/2015 को प्लूटो के सबसे निकट होगी
d
प्लूटो की दूरी इस सूत्र द्वारा दी गई है:square root of ((difference in days to christmas) ^ 2 + 10)
r
फोटो पर प्लूटो की छवि का त्रिज्या निम्नानुसार है:22 / d
(x, y)
ग्रिड पर निर्देशांक के साथ एक चरित्र#
यदि निर्धारित किया जाना चाहिएx^2 + y^2 <= r^2
; इसे अन्यथा स्थान पर सेट करना होगा।- वहाँ स्थानों पर सितारे हैं
(-3, -5)
,(6, 2)
,(-5, 6)
,(2, 1)
,(7, -2)
। सितारे एक डॉट द्वारा दर्शाए.
जाते हैं, और वे निश्चित रूप से प्लूटो द्वारा छिपे हुए हैं।
एक और बात: नासा बोर्ड इस निष्कर्ष पर पहुंचा है कि प्लूटो पर जीवन की खोज से बजट में पर्याप्त वृद्धि होगी। आपके कार्यक्रम को तब प्लूटो पर जीवन के सुराग जोड़ना चाहिए:
- जब प्लूटो की दूरी <= 4 है, तो निर्देशांक पर एक प्लूटोनियन जोड़ें
(-3,-1)
:(^_^)
इनपुट के लिए उदाहरण की तस्वीर 20151215
: (इस कोड के अनुसार आपके सभी कोड नए होने चाहिए)
.
# .
###
#####
###.
# .
.
इनपुट के लिए फोटो 20151225
:
#######
#########
###########
#############
#############.
###(^_^)#####
#############
#############
#############
#############
###########
#########
. #######
एक तुलना के रूप में, यहाँ न्यू होराइजन्स द्वारा ली गई प्लूटो के उपग्रह हाइड्रा की एक तस्वीर है। अंतर हमारे ASCII कला के साथ शायद ही ध्यान देने योग्य हैं।
यह कोड गोल्फ है, इसलिए बाइट्स में सबसे छोटा कोड जीतता है!
`
s को इसके पक्ष में हटा दिया <pre><code>
; यदि आपको यह पसंद नहीं है तो वापस लुढ़कने के लिए स्वतंत्र महसूस करें।
You can assume the entered date will be in the year 2015 or 2016.
लेकिन फिर एक साल क्यों निर्दिष्ट करें?