จำ pinwheels ที่สนุกที่คุณระเบิดและหมุนไปรอบ ๆ รหัสหนึ่งกันเถอะ!
ตะไลจะมีชุดของตัวละครที่\ | / _
วาดศูนย์กลางและแขนของมัน หนึ่งล้อเลื่อนที่เป็นไปได้อาจมีลักษณะเช่นนี้:
|
|
|_ ___
___|_|
|
|
|
แต่ตะไลนั้นไม่หมุนอะไร ไม่สนุก! เราสามารถทำให้มันหมุนได้โดยจัดเรียงสัญลักษณ์ใหม่:
/
\ /
\ /
\/\
\/\
/ \
/ \
/
ความท้าทายคือการสร้างโปรแกรมที่ใช้จำนวนเต็มสามจำนวนและส่งออกตะไลตามที่ระบุด้านล่าง ครั้งแรกของเหล่านี้คือจำนวนของแขนที่มีที่สองคือความยาวของแขนของตะไลและที่สามคือจำนวนครั้งที่มันจะหมุนหนึ่งในแปดของการหมุนตามเข็มนาฬิกา
คุณสามารถสมมติสิ่งต่อไปนี้:
- จำนวนแขนจะเป็น 0, 1, 2, 4 หรือ 8 เสมอ
- แขนทุกอันจะเว้นระยะห่างเท่ากันจากกัน
ตำแหน่งเริ่มต้นของตะไลจะมีจุดศูนย์กลางอยู่ที่:
_ |_|
หากจำนวนแขนเท่ากับ 1 คุณอาจตัดสินทิศทางของจุดแขน
- หากจำนวนแขนเท่ากับ 2 คุณอาจตัดสินใจให้แขนชี้ในแนวตั้งหรือแนวนอน
คุณสามารถเขียนโปรแกรมเต็มรูปแบบที่รับอินพุตผ่าน STDIN หรืออาร์กิวเมนต์บรรทัดคำสั่งหรือฟังก์ชันที่รับอินพุตผ่านอาร์กิวเมนต์ของฟังก์ชัน โปรแกรมของคุณจะต้องแสดงลำดับของเอาต์พุตที่แสดงการหมุนของตะปูหมุนแต่ละอันคั่นด้วยบรรทัดว่างอย่างน้อยหนึ่งบรรทัด ศูนย์กลางของตะไลไม่ควรเคลื่อนที่มากกว่าหนึ่งช่องว่าง คุณสามารถส่งออกช่องว่างนำหน้าและต่อท้ายได้มากเท่าที่จำเป็น
นี่คือตัวอย่างบางส่วน:
0 2 1
_
|_|
/\
\/
1 3 2
|
|
|_
|_|
/
/
/
/\
\/
_ ___
|_|
2 2 0
_ __
__|_|
8 4 1
\ | /
\ | /
\ | /
\|_/____
____|_|
/ |\
/ | \
/ | \
/ | \
| /
\ | /
\ | /
\ |/
____\/\____
\/\
/| \
/ | \
/ | \
/ |
นี่คือรหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดจึงชนะ โชคดี!
1 3 5
และแขนเริ่มต้นชี้ขึ้น) ช่องว่างจะต้องมีการเสริมในเอาต์พุตก่อนหน้านี้เพื่อรองรับสิ่งนี้