Професионална програма
Loading...
+ Нов въпрос
NikoletaKarachomakova avatar NikoletaKarachomakova 7 Точки

Здравей,

На пръв поглед ми прави впечатление това, че ако заложиш вход:

9 7 

16

Резултатът ще бъде 2, а би трябвало да е 1, защото точно е запълнил капацитета на 1 rack. 

Ако заложиш началното number_of_racks_used = 0, обаче, трябва да се промени малко кода.

Пускам ти за всеки случай моето решение, което дава 100/100, като не претендирам, че е най-оптималното :) 

https://pastebin.com/uXMj0cCv 

 

0
SlaviPM avatar SlaviPM 2 Точки

Благодаря много!

Тази проверка ми позволи да си намеря грешката в кода.

box_of_clothes = list(map(lambda x: int(x), input().split(' ')))
capacity_of_rack = int(input())
rack = 0
number_of_racks_used = 1

while box_of_clothes:
    if rack + box_of_clothes[-1] < capacity_of_rack:
        rack += box_of_clothes.pop()
    elif rack + box_of_clothes[-1] == capacity_of_rack:
        rack += box_of_clothes.pop()
        if number_of_racks_used == 1:
            pass
        else:
            rack = 0
            number_of_racks_used += 1
    else:
        number_of_racks_used += 1
        rack = 0

print(number_of_racks_used)
0