11
โรงงานบรรจุผลไม้
ภารกิจของคุณคือการสร้างอัลกอริทึม (โปรแกรมหรือฟังก์ชั่น) ที่สามารถเพิ่มประสิทธิภาพการบรรจุผลไม้จากสายพานลำเลียงลงในถุงเพื่อส่งไปยังผู้ค้าปลีกเพื่อปรับให้เหมาะสมกับจำนวนถุงมากที่สุด กระเป๋าแต่ละใบจะต้องมีน้ำหนักอย่างน้อยจำนวนหนึ่ง แต่ส่วนเกินใด ๆ จะสูญเสียกำไรเนื่องจากน้ำหนักนั้นสามารถใช้เพื่อเติมถุงอื่นได้ เครื่องบรรจุถุงของคุณมีnผลไม้ที่มองจากคิวเสมอและอาจเลือกที่จะเพิ่มnผลไม้ใด ๆ เหล่านี้ลงในถุง (ถุงเดียว) ที่กำลังดำเนินการ ไม่สามารถดูเกินnองค์ประกอบแรกในคิว โปรแกรมรู้เสมอว่ามีน้ำหนักอยู่ในกระเป๋าเท่าไหร่ อีกวิธีในการมองเห็นสิ่งนี้คือการมีสายพานลำเลียงที่มีพื้นที่รับน้ำหนักขนาดใหญ่nในตอนท้ายจากจุดที่ผลไม้ต้องถูกนำไปก่อนที่ผลไม้ใหม่จะมาถึง ผลไม้ที่เหลือและถุงที่ไม่เต็มในตอนท้ายจะถูกทิ้ง ปัจจัยการผลิต รายการ / อาร์เรย์ของน้ำหนักผลไม้ในคิว (จำนวนเต็มบวก) น้ำหนักรวมขั้นต่ำสำหรับถุง (จำนวนเต็มบวก) Lookahead n(จำนวนเต็มบวก) เอาท์พุต อัลกอริทึมของคุณควรกลับไปหาน้ำหนักของผลไม้ในถุงด้วยวิธีใดก็ตามที่สะดวกสำหรับคุณและภาษาของคุณไม่ว่าจะเป็น stdin หรือค่าตอบแทนหรืออย่างอื่น คุณควรจะสามารถรันโปรแกรมและคำนวณคะแนนในหนึ่งนาทีบนคอมพิวเตอร์ของคุณ ตัวอย่าง Total weight 1000, lookahead of 3 and fruit queue: [171,163,172,196,156,175,162,176,155,182,189,142,161,160,152,162,174,172,191,185] One possible output (indented to show how the lookahead …