Xin chúc mừng! Bạn vừa được NASA thuê để làm việc trong dự án Horizons 2 mới.
Đáng buồn thay, gần đây đã có sự cắt giảm ngân sách rất lớn, vì vậy ban lãnh đạo cao nhất đã quyết định giả mạo toàn bộ kế hoạch bay Pluto (như họ đã làm cho cuộc đổ bộ mặt trăng vào những năm 70).
Nhiệm vụ của bạn là viết một chương trình sẽ chấp nhận làm đầu vào một ngày ở định dạng yyyymmdd
và sẽ cung cấp một bức ảnh giả về Sao Diêm Vương cho ngày này. Bạn có thể giả sử ngày nhập sẽ vào năm 2015 hoặc 2016.
Bức ảnh là một lưới 15x15 ký tự ASCII. Các ký tự trên lưới có tọa độ x và y trong phạm vi [-7, 7]
- ký tự trên cùng bên trái ở (-7, -7)
trong khi ký tự dưới cùng bên phải ở (7, 7)
.
Bức ảnh sẽ được tính toán với các quy tắc sau:
- Tàu thăm dò sẽ là nơi gần nhất với Sao Diêm Vương vào ngày 25/12/2015
- Khoảng cách
d
đến Sao Diêm Vương được tính theo công thức này:square root of ((difference in days to christmas) ^ 2 + 10)
- Bán kính
r
hình ảnh của Sao Diêm Vương trên ảnh được đưa ra bởi:22 / d
- Một ký tự có tọa độ
(x, y)
trên lưới phải được đặt thành#
ifx^2 + y^2 <= r^2
; nó phải được đặt thành không gian khác. - Có những ngôi sao tại các vị trí
(-3, -5)
,(6, 2)
,(-5, 6)
,(2, 1)
,(7, -2)
. Các ngôi sao được thể hiện bằng một dấu chấm.
, và tất nhiên chúng được ẩn bởi Sao Diêm Vương.
Một điều nữa: Hội đồng NASA đã đi đến kết luận rằng việc khám phá sự sống trên Sao Diêm Vương có thể sẽ dẫn đến việc tăng ngân sách đáng kể. Chương trình của bạn sau đó sẽ thêm manh mối của cuộc sống trên Sao Diêm Vương:
- Khi khoảng cách đến Sao Diêm Vương là <= 4, hãy thêm một plutonia tại tọa độ
(-3,-1)
:(^_^)
Ảnh ví dụ cho đầu vào 20151215
: (Mã của bạn phải có tất cả các dòng mới như mã này)
.
# .
###
#####
###.
# .
.
Ảnh cho đầu vào 20151225
:
#######
#########
###########
#############
#############.
###(^_^)#####
#############
#############
#############
#############
###########
#########
. #######
Để so sánh, đây là một bức ảnh về vệ tinh Hydra của Sao Diêm Vương được chụp bởi New Horizons. Sự khác biệt hầu như không đáng chú ý với nghệ thuật ASCII của chúng tôi.
Đây là mã golf, vì vậy mã ngắn nhất tính bằng byte sẽ thắng!
`
s ủng hộ <pre><code>
; cứ thoải mái quay lại nếu bạn không thích nó.
You can assume the entered date will be in the year 2015 or 2016.
Nhưng sau đó tại sao chỉ định một năm ở tất cả?