บทนำ
Cacti มีหลายขนาดรูปร่างและสีที่แตกต่างกัน อย่างไรก็ตามต้นกระบองเพชรที่โดดเด่นที่สุดและต้องมีในทุกเวสเทิร์จะต้องเป็นsaguaro Saguaroคุณสมบัติที่สำคัญคือขนาดและแขนของมันซึ่งได้กำหนดลักษณะแคคตัสโปรเฟสเซอร์ไว้
งานของคุณคือนำ saguaro มาสู่โลก ASCII อย่างไรก็ตาม - เหมือนในโลกแห่งความเป็นจริง - ไม่มี saguaro เหมือนโปรแกรมอื่นดังนั้นโปรแกรมของคุณจะต้องสามารถสร้าง saguaros ด้วยการปรับแต่งแขนที่แตกต่างกัน
ตัวอย่าง saguaro
- อินพุต:
[0b10, 0b11]
(เป็น[2, 3]
ทศนิยม, ความยาวของอินพุต2
)
_
/ \
_ | |
/ \ | |
| | | |
\ \_| |
\__ |
\ |
_ | | _
/ \ | | / \
| | | | | |
\ \_| |_/ /
\__ __/
\ /
| |
| |
ข้อมูลจำเพาะ
Saguaro มักจะมีฐานและส่วนบนเสมอโดยมีจำนวนลำต้นแตกต่างกันไป ส่วนของก้านไม่สามารถมีแขน, แขนด้านขวา, หนึ่งในด้านซ้ายหรือสองแขน
รูปแบบการเติบโตของ Saguaro นั้นเป็นรายการอินพุตที่มีค่าสองบิต 00
หมายถึงไม่มีแขน, 01
แขนด้านขวา, 10
แขนด้านซ้ายและ11
สองแขน (ทั้งหมดในไบนารี) ความยาวของรายการอินพุตกำหนดความสูงของ saguaro
ส่วน Saguaro มีลักษณะดังนี้ ส่วนต้นกระบองเพชรล้อมรอบด้วย octothorps #
เพื่อความชัดเจนที่จะไม่ถูกพิมพ์ออกมา
ความสูงของ Saguaro อยู่เสมอเท่ากับตัวอักษรสำหรับจำนวนเต็มไม่ติดลบ4+6*k
k
#############
# _ # Saguaro top
# / \ #
#############
# _ | | _ # Stem, both arms
#/ \ | | / \# Stem id: 11
#| | | | | |#
#\ \_| |_/ /#
# \__ __/ #
# \ / #
#############
# _ | | # Stem, left arm
#/ \ | | # Stem id: 10
#| | | | #
#\ \_| | #
# \__ | #
# \ | #
#############
# | | _ # Stem, right arm
# | | / \# Stem id: 01
# | | | |#
# | |_/ /#
# | __/ #
# | / #
#############
# | | # Stem, no arms
# | | # Stem id: 00
# | | #
# | | #
# | | #
# | | #
#############
# | | # Saguaro base
# | | #
#############
อินพุต
ตามที่กล่าวไว้ก่อนหน้านี้อินพุตประกอบด้วยรายการค่าสองบิต (เป็น0, 1, 2, 3
ทศนิยม) สามารถให้ในรูปแบบที่เหมาะสม องค์ประกอบแรกของรายการสอดคล้องกับส่วนลำต้นสูงสุดของ saguaro องค์ประกอบที่สองกับส่วนลำต้นสูงสุดอันดับสอง ฯลฯ
หากคุณต้องการคุณสามารถกำหนดความยาวของรายการอินพุตให้เป็นอินพุตเพิ่มเติมได้ โปรดระบุในคำตอบของคุณถ้าคุณทำเช่นนั้น
เอาท์พุต
ASCII saguaro เอาท์พุทของคุณควรสร้างโดยใช้ส่วนสเต็มที่แน่นอนตามที่อธิบายไว้ข้างต้น ช่องว่างต่อท้ายบนบรรทัดและบรรทัดใหม่ต่อท้ายจะถูกละเว้น คุณสามารถพิมพ์ได้มากขึ้นน้อยลงหรือมากตามที่ระบุไว้ข้างต้น
กฎระเบียบ
กรณีทดสอบ
- ค่าผิดปกติ การป้อนข้อมูล:
[0b01, 0b00, 0b01, 0b11]
_
/ \
| | _
| | / \
| | | |
| |_/ /
| __/
| /
| |
| |
| |
| |
| |
| |
| | _
| | / \
| | | |
| |_/ /
| __/
| /
_ | | _
/ \ | | / \
| | | | | |
\ \_| |_/ /
\__ __/
\ /
| |
| |
- สลับแขน การป้อนข้อมูล:
[0b10, 0b01, 0b10]
_
/ \
_ | |
/ \ | |
| | | |
\ \_| |
\__ |
\ |
| | _
| | / \
| | | |
| |_/ /
| __/
| /
_ | |
/ \ | |
| | | |
\ \_| |
\__ |
\ |
| |
| |
- แขนที่อุดมสมบูรณ์ การป้อนข้อมูล:
[0b11, 0b11]
_
/ \
_ | | _
/ \ | | / \
| | | | | |
\ \_| |_/ /
\__ __/
\ /
_ | | _
/ \ | | / \
| | | | | |
\ \_| |_/ /
\__ __/
\ /
| |
| |
- ไม่มีแขนหรือที่เรียกว่าหอก การป้อนข้อมูล:
[0b00]
_
/ \
| |
| |
| |
| |
| |
| |
| |
| |
- ไม่มีร่างกายบางคนเรียกมันว่ากระบองเพชรเล็ก การป้อนข้อมูล:
[]
_
/ \
| |
| |
4 1 0 1 3
)