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

Задача Suitcases Load (Python) -> 90/100 в Judge

Здравейте,

Пробвах всякаква подредба на проверките, но явно има нещо, което пропускам и на тази задача получавам 90/100 в Judge.

Резултатът не ме притеснява, просто искам да разбера къде бъркам.

Кодът ми е това: https://pastebin.com/1vJAYpde.

Благодаря предварително!

0
Programming Basics
Axiomatik avatar Axiomatik 1471 Точки

Super answer already provided by MartinBG on the same problem with Suitcases, just include the validation for the airplane capacity when the counter has hit 3 => https://softuni.bg/forum/31267/programming-basics-online-exam-28-and-29-march-2020-05-suitcases-load

Comment:

Проблемът е, че сте разделили товаренето на всеки 3-ти куфар на 2 части, а има проверка за препълване само преди първото товарене.

Да вземем за пример следние входни данни:

3 (обем на багажното)

1 (3 - 1 = 2 осаващ обем)

1 (2 - 1 = 1 оставащ обем)

1 ( 2 -1 = 0 оставащ обем, но понеже е 3-ти куфар има и допълниелно 0 - 1 * 0.1 = -0.1 оставащ обем, т.е. този куфар не може да бъде натоварен).

Въпреки това, програмата ще спре чак на следващия куфар и ще репортне, че натоварените куфари са били 3, вместо 2.

Best,

0
elly22chan avatar elly22chan 1 Точки

I already tried something like that following MartinBG's instructions:

if (counter + 1) % 3 == 0:
    suitcase *= 1.1

Unfortunately I just can't make it work no matter how I order the checks and validations.

0
Axiomatik avatar Axiomatik 1471 Точки
airplane_capacity = float(input())
counter = 0
 
while True:
    suitcase = input()
 
    if suitcase == "End":
        print("Congratulations! All suitcases are loaded!")
        break
    else:
        suitcase = float(suitcase)
 
    # if suitcase > airplane_capacity:
    #     print("No more space!")
    #     break
 
    
    if (counter + 1) % 3 == 0:
        # suitcase = round(suitcase + (suitcase * 10 / 100)) ERROR WILL CAUSE 90/100
        suitcase *= 1.1

    if suitcase > airplane_capacity:
        print("No more space!")
        break
    
    counter += 1
    airplane_capacity -= suitcase
 
print(f'Statistic: {counter} suitcases loaded.')

:-)

0
elly22chan avatar elly22chan 1 Точки

Благодаря!

0
svephoto avatar svephoto 981 Точки

Здравей, elly22chan,

 

Ето вариант на твоя код https://pastebin.com/hvZNnaRD, който минава със 100/100. Поразместил съм някои неща и съм променил това-онова, но ти ще видиш какво и къде. Надявам се да ти е от полза.

1
elly22chan avatar elly22chan 1 Точки

И това е с 90/100. Не минава една от проверките... това решение, което Axiomatik е дал е 100/100. Малко съм объркана вече, но... :D благодаря за помощта!

1