คุณเป็นฮีโร่ที่ดีที่สุดและมีชื่อเสียงที่สุดในพื้นที่ เมื่อไม่นานมานี้มีข่าวลือว่าไฮดราถูกแขวนอยู่ในหุบเขาใกล้เคียง เป็นฮีโร่ที่กล้าหาญและมีคุณธรรมที่คุณเป็นคุณจะต้องไปตรวจสอบในวันนี้
ปัญหาของไฮดราคือทุกครั้งที่คุณพยายามที่จะตัดหัวของพวกเขาบางคนก็งอกใหม่ โชคดีสำหรับคุณคุณมีดาบที่สามารถตัดหัวได้หลายหัวในครั้งเดียว แต่มีการจับถ้าไฮดรามีหัวน้อยกว่าการตัดดาบของคุณคุณจะไม่สามารถโจมตีไฮดรา เมื่อไฮดรามีหัวเป็นศูนย์แน่นอนคุณได้ฆ่ามัน
นอกจากนี้ยังมีดาบพิเศษที่เรียกว่าThe Bisectorซึ่งจะตัดหัวของไฮดราออกครึ่งหนึ่ง แต่ถ้าจำนวนหัวเท่ากัน Bisector ไม่สามารถใช้งานได้เลยเมื่อจำนวนของหัวเป็นเลขคี่ สิ่งนี้แตกต่างจากการตัดศูนย์หัว
ดังนั้นคุณตัดสินใจว่าคุณจะเขียนโปรแกรมคอมพิวเตอร์เพื่อหาวิธีที่ดีที่สุดในการสังหารไฮดรา
งาน
คุณจะได้รับเป็นอินพุต
- จำนวนหัวที่ไฮดราเริ่มต้นด้วย
- จำนวนของหัวที่ไฮดรางอกใหม่ในแต่ละเทิร์น
- รายการดาบที่มีให้ใช้งานแต่ละอัน (แต่ละอันคือเส้นแบ่งครึ่งหรือตัดจำนวนคงที่ของหัวแต่ละตา)
คุณควรแสดงรายการการเคลื่อนไหวที่จะฆ่าไฮดราในจำนวนรอบที่น้อยที่สุดที่เป็นไปได้ หากไม่มีวิธีที่จะฆ่าไฮดราคุณต้องส่งออกค่าอื่น ๆ ที่ระบุดังนี้ หากมีหลายวิธีที่ดีที่สุดในการฆ่าไฮดราคุณสามารถส่งออกหนึ่งในนั้นหรือทั้งหมด
นี่เป็นคำถามเกี่ยวกับรหัสกอล์ฟดังนั้นคำตอบจะได้คะแนนเป็นไบต์โดยมีจำนวนไบต์น้อยกว่าดีกว่า
กรณีทดสอบ
เพิ่มเติมตามคำขอ
5 heads, 9 each turn, [-1,-2,-5] -> [-5]
12 heads, 1 each turn, [/2,-1] -> No solution
8 heads, 2 each turn, [-9, -1] -> [-1,-9]
3 heads, 23 each turn, [/2,-1,-26] -> [-1,-1,-26,-26,-26,-26,-26,-26,-26,-26]
16 heads, 1 each turn, [/2, 4, 2] -> [/2,-4,/2,-4]
คำถามนี้เป็นกลไกหลักของHydraSlayer เวอร์ชั่นง่าย ถ้าคุณชอบปริศนาประเภทนี้ฉันแนะนำให้ลองดูมันสนุกดี ฉันไม่มีส่วนเกี่ยวข้องกับเกม
[/2, -2, /2, -2, -4]
ยังทำงานได้