ฉันได้ออกแบบแบบอักษรใหม่ที่ฉันเรียกว่า PrettyFont ฉันใช้เวลามากในการทำให้สมบูรณ์แบบ แต่เนื่องจากฉันเป็นคนทำงานฉันไม่มีเวลาทำมันให้เสร็จ ดังนั้นจึงมีเพียง 4 ตัวอักษรในขณะนี้ วันหนึ่งเมื่อฉันรวยขึ้นมันจะกลายเป็นเป้าหมายตลอดชีวิตของฉันที่จะทำให้มันเสร็จ แต่ตอนนี้ ...
นี่คือ PrettyFont: (0, 1, 2, 3)
#### ## #### ####
# # # # # #
# # # # ###
# # # # #
#### ### #### ####
อักขระแต่ละตัวมีความกว้าง 4 พิกเซลและสูง 5 พิกเซล ในขณะนี้! ฉันต้องการให้คุณเขียนโปรแกรมที่ให้ผลเป็นตัวเลขใน PrettyFont เพื่อให้ฉันสามารถเริ่มส่งการออกแบบเพื่อพิมพ์ได้
กฎ:
อินพุตเป็นหมายเลขสตริงในฐาน 4 (เฉพาะอักขระ 0-3) ตัวอย่างเช่น "01321" โปรแกรมควรสามารถจัดการอย่างน้อย 10 อักขระในสตริง คะแนนโบนัสจะถูกกำหนดให้กับโปรแกรมที่รับจำนวนเต็มฐาน 10 จริงแทนที่จะเป็นสตริง แก้ไขคำชี้แจง: โบนัสจำนวนเต็มหมายความว่าเราสามารถป้อนหมายเลขฐาน 10 ใด ๆ เช่น 54321 และโปรแกรมจะแปลงเป็นฐาน 4 และส่งออก (ในกรณีนี้ 31100301)
ผลลัพธ์จะเป็นหมายเลขที่พิมพ์ด้วย PrettyFont ตัวอย่างอินพุตและเอาต์พุต:
> "321"
####
#
###
#
####
####
# #
#
#
####
##
#
#
#
###
โบนัสมากสำหรับโปรแกรมที่สามารถแสดงผลได้ในแบบแถวเดี่ยวเช่นนี้:
> "321"
#### #### ##
# # # #
### # #
# # #
#### #### ###
อักขระ '#' ไม่ใช่ข้อกำหนดและสามารถแทนที่ด้วยอักขระใดก็ได้
ในเอาต์พุตแนวตั้งจำเป็นต้องมีแถวว่างระหว่างแต่ละอักขระ PrettyFont หากใครสร้างเอาต์พุตในแนวนอนต้องใช้อักขระช่องว่างหนึ่งตัว '' หรือแท็บอักขระระหว่างอักขระ PrettyFont แต่ละตัว
นี่คือรหัสกอล์ฟรหัสที่สั้นที่สุดชนะ! (ฉันต้องการมันสั้นเพราะคอมพิวเตอร์ในสำนักงานของฉันมีพื้นที่เก็บข้อมูล จำกัด )
banner -c '#' 0123