Bir sürü ağır kutunuz var ve bunları mümkün olan en az sayıda istifle istiflemek istiyorsunuz. Sorun, bir kutuya destekleyebileceğinden daha fazla kutu istifleyemeyeceğinizdir, bu nedenle ağır kutuların bir yığının altına gitmesi gerekir.
Meydan okuma
Giriş : Bütün kg cinsinden kutuların ağırlık listesi.
Çıktı : Kutu yığınlarını tanımlayan listelerin listesi. Bu, giriş için mümkün olan en az sayıda yığın kullanmalıdır. Geçerli bir yığın olması için, yığındaki her bir kutunun ağırlığı, üstündeki tüm kutuların ağırlığının toplamına eşit veya ondan daha büyük olmalıdır.
Geçerli yığın örnekleri
(Alttan üst sıraya)
- [3]
- [1, 1]
- [3, 2, 1]
- [4, 2, 1, 1]
- [27, 17, 6, 3, 1]
- [33, 32, 1]
- [999, 888, 99, 11, 1]
Geçersiz yığın örnekleri
(Aşağıdan yukarıya doğru sırayla)
- [1, 2]
- [3, 3, 3]
- [5, 5, 1]
- [999, 888, 777]
- [4, 3, 2]
- [4321, 3000, 1234, 321]
Örnek Test Durumları
1
IN: [1, 2, 3, 4, 5, 6, 9, 12]
OUT: [[12, 6, 3, 2, 1], [9, 5, 4]]
2
IN: [87, 432, 9999, 1234, 3030]
OUT: [[9999, 3030, 1234, 432, 87]]
3
IN: [1, 5, 3, 1, 4, 2, 1, 6, 1, 7, 2, 3]
OUT: [[6, 3, 2, 1], [7, 4, 2, 1], [5, 3, 1, 1]]
4
IN: [8, 5, 8, 8, 1, 2]
OUT: [[8, 8], [8, 5, 2, 1]]
Kurallar ve Varsayımlar
- Standart G / Ç kuralları ve yasaklı boşluklar geçerlidir
- G / Ç için uygun herhangi bir formatı kullanın
- Yığınlar, tutarlı olduğunuz sürece yukarıdan aşağıya veya aşağıdan yukarıya doğru tanımlanabilir.
- Yığın sırası (bu yığınların içindeki kutular yerine) önemli değildir.
- Giriş kutularını önceden hazırlanmış bir liste olarak da alabilirsiniz. Genel sorun, sıralama tarafından çözülmediği sürece, sipariş girişi için özellikle önemli değildir.
- Birden fazla optimum yığın konfigürasyonu varsa, bunlardan herhangi birini çıkartabilirsiniz.
- En az bir kutu olduğunu ve tüm kutuların en az 1 kg ağırlığında olduğunu varsayabilirsiniz.
- En azından 9,999 kg ağırlığa kadar desteklemelisiniz.
- En az 9.999 toplam kutuya kadar destek vermelisiniz.
- Aynı ağırlığa sahip kutular ayırt edilemez, bu nedenle hangi kutunun nerede kullanıldığını açıklamaya gerek yok.
Mutlu golf! İyi şanslar!
[8, 8, 8, 5, 1]
->[[8, 8], [8, 5, 1]]
[8, 5, 8, 8, 1, 2]
->[[8, 8], [8, 5, 2, 1]]