Amacınız, paketleme meyvesini bir taşıma bandından torbalara, perakendecilere gönderilmek üzere, en çok sayıda çanta için optimize etmek üzere optimize edebilen bir algoritma (program veya işlev) oluşturmaktır.
Her torba en az belirli bir ağırlıkta olmalıdır, fakat bu ağırlık başka bir çantayı doldurmak için kullanılabildiğinden fazla kar kaybedilir. Torbalama makineniz her zaman n
kuyruktaki meyvelerin görünümüne sahiptir ve yalnızca bu n
meyvelerden herhangi birini işlenen (tek) torbaya eklemeyi seçebilir . n
Sıradaki ilk öğelerin ötesine bakamaz. Program her zaman çantada ne kadar ağırlık olduğunu tam olarak bilir.
Bunu görselleştirmenin bir başka yolu n
, sonunda yeni bir meyve gelmeden önce bir meyvenin alınması gereken yükleme alanı büyüklüğünde bir taşıma bandına sahip olmaktır. Artık herhangi bir meyve ve sonunda dolu olmayan bir çanta atılır.
Girdiler
- Kuyruktaki meyvelerin ağırlık listesi / / (pozitif tamsayılar)
- Çantalar için minimum toplam ağırlık (pozitif tamsayı)
- Lookahead
n
(pozitif tamsayı)
Çıktı
Algoritmanız, tüm poşetler için, içindeki meyvelerin ağırlığını, sizin ve diliniz için ne uygunsa, stdin veya geri dönüş değeri veya başka bir şey için geri döndürmelidir. Programı çalıştırmak ve bilgisayarınızda bir dakika içinde puanınızı hesaplamak mümkün olmalıdır.
Örnek
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 affects the bagging):
[171,163,172, 156,175, 176]
[162, 155,182,189, 161,160]
[152,162,174,172,191,185]
puanlama
Algoritmanız, altı uçta, sizin için hazırladığım 10000 portakallık bir partide , her iki uçta da dahil olmak üzere 2 ila 7 arasında değişen baklavalarda test edilecektir . Onları en az 1000 birim ağırlığındaki torbalara koyacaksınız. Portakallar normalde ortalama 170 ağırlık ve herhangi bir yardımı olması halinde 13 standart sapma ile dağıtılır.
Puanınız, altı turdaki çanta sayısının toplamı olacaktır. En yüksek puan kazanır. Standart boşluklara izin verilmez.