ต้นไม้ที่เรากำลังเติบโตมีกฎบางอย่างที่กำหนดวิธีการที่พวกเขาเติบโต:
กฎการเจริญเติบโต:
- ต้นไม้ประกอบด้วยกิ่งไม้เท่านั้น
- สาขาที่ทำขึ้นจากการรวมกันของสัญลักษณ์ต่อไปนี้:
_
,\
,|
,/
และ_
ต้นไม้เริ่มเป็นสาขาแนวตั้ง / ลำต้น (
|
) บนพื้นดิน (_
):__________________|___________________
อาหารสำหรับการเจริญเติบโตของสาขามาจากแสง
- แสงเริ่มต้นที่ความเข้ม 2 ในแต่ละจุดบนท้องฟ้าและเดินทางลงมา
- แต่ละสาขาสามารถกินได้ครึ่งแสงและส่วนที่เหลือจะผ่านไปยังกิ่งที่ต่ำกว่า
- ดังนั้นสาขาที่ไม่มีสาขาอื่น ๆ ด้านบนจะได้รับ 1 หน่วยของแสงอาหารในแต่ละฤดูกาลสาขาที่มี 1 สาขาด้านบนจะได้รับอาหาร 0.5 หน่วยในแต่ละฤดูกาลและโดยทั่วไปแล้วสาขาที่มีสาขามากกว่าจะได้รับ 1 / (2 ^ n) หน่วยของอาหารในแต่ละฤดูกาล
- ในตอนท้ายของแต่ละฤดูกาลอาหารจะเริ่มจากลำต้นและขยับขึ้นและเปลี่ยนเป็นกิ่งและผลไม้ใหม่ (ใช้กฎต่อไปนี้จนกว่ากิ่งจะกลายเป็นผลไม้หรือมีอาหารที่เหลือน้อยกว่า 1 หน่วย):
- ถ้าสาขามีอาหารน้อยกว่า 1 หน่วยเมื่อสิ้นสุดฤดูกาลอาหารทั้งหมดสำหรับสาขานั้นจะถูกเก็บไว้ในสาขานั้นจนกว่าจะถึงฤดูถัดไป
- หากสาขาหนึ่งมีมากกว่าหรือเท่ากับ 1 หน่วยของอาหารและมีห้องที่จะเติบโตสาขานั้นจะสุ่มขยายสาขาใหม่โดยใช้รูปแบบการเติบโตที่มีอยู่ (ดูด้านล่าง) และเก็บอาหารที่เหลือสำหรับฤดูกาลถัดไป
- หากสาขามี> = 1 หน่วยของอาหารไม่มีที่ใดที่จะเติบโตและมีกิ่งแตกหน่อมันจะกระจายอาหารอย่างสม่ำเสมอไปยังกิ่งหน่อของมัน
- หากสาขามี> = 1 หน่วยของอาหารไม่มีที่ใดที่จะเติบโตและไม่มีกิ่งที่แตกหน่อมันจะกลายเป็นผลไม้ (แทนด้วย
O
)
- นี่คือการกำหนดค่าการเติบโตที่เป็นไปได้
การกำหนดค่าการเจริญเติบโต:
_ \ | / _ _ \ | / \ | / _
| | | | | \ \ \ \ / / / / __ \_ |_ _| _/ __
--- Vertical Branches --- --- Diagonal Branches --- --- Horizontal Branches ---
ตัวอย่างต้นไม้ที่มีศักยภาพ:
\
/ /
\/O |___//
\_/ \//O\_/
\__/|\|_/
\|/
__________________|__________________
การป้อนข้อมูล:
โปรแกรมของคุณควรที่จะรับรายการสแนปชอตของทรีที่คุณต้องการดู ตัวอย่างเช่น [10,20,50] จะหมายถึงคุณต้องการเห็นต้นไม้หลังจาก 10 ฤดูกาล 20 ซีซั่นและ 50 ซีซัน
เอาท์พุท:
สำหรับแต่ละฤดูกาลที่เข้าชมโปรแกรมของคุณควรส่งฤดูกาลแล้วรูปภาพของต้นไม้ในฤดูกาลนั้น หากช่วยได้คุณสามารถกำหนดอายุสูงสุดสำหรับต้นไม้เช่น 60 เพื่อให้ความสูงสูงสุดสำหรับต้นไม้เท่ากับ 61 และความกว้างสูงสุดจะเท่ากับ 121 จากนั้นแสดงต้นไม้ในระดับนั้นเสมอ มิฉะนั้นอย่าลังเลที่จะปรับขนาดภาพของคุณเป็นต้นไม้ขนาดใดก็ได้ ตัวอย่างเช่นหากอินพุตเป็น [0,1,2,3] ผลลัพธ์ของคุณอาจเป็น:
Season 0:
_|_
Season 1:
\
__|__
Season 2:
_
\|
___|___
Season 3:
|_/ _
\|
____|___
ผู้ชนะ
แต่ละโซลูชั่นจะต้องโพสต์ผลลัพธ์ของการรันโปรแกรมโปรดของตัวเองด้วยอินพุต[10,40]
พร้อมกับซอร์สโค้ด นอกจากนี้ต้องปฏิบัติตามหลักเกณฑ์ข้างต้นทั้งหมดเพื่อให้มีคุณสมบัติ
ผู้ชนะจะได้รับการคัดเลือกด้วยคะแนนเสียงมากที่สุด
ขอให้โชคดีและความสุขในการปลูก !!!