Софтуерно Инженерство
Loading...
antrscks avatar antrscks 4 Точки

HELP 06. Baking Competition - Programming Basics Online Exam - 27 and 28 July 2019

Здравейте,

Имам проблем с една задача. С няколко думи примерните изходи от входовете от задачата са верни, но след това в Judge изкарва грешки и дава само 20/100. Мисля че разбрах какъв е проблема , с няколко мой входове забелязах че програмат винаги забива на последния while цикъл когато трябва да си вземе вече вкаран текст (Stop baking!)  и чака да натисна enter преди да продъллжи. Пробвах по няколко различни начина да я напиша но резултата пак е същия. Найстина за мен няма логика как работи с примерните входове а с моийте (и явно с тези от Judge) забива така.

ето кода - https://pastebin.com/aTJsF2Ce

Благодаря предварително на всеки който би ми помогнал или насочил в правилна посока. =]

Тагове:
0
Programming Basics with Python 02/11/2019 16:47:00
Chyna avatar Chyna 7 Точки

Здравей :) Това, което видях на пръв поглед като проблем , е , че не сумираш броя на отделните печива в if проверките.

Писал си cookies = num_pastry , а трябва да ги добавяш. Като цяло доста доста сложно си написал решението и аз лично не мога да ти помогна да го фикснеш, за да работи. Мога да ти пусна моето,което е доста по- простичко,  ако желаеш.

0
Chyna avatar Chyna 7 Точки

Пак съм аз :) Всъщност успях да преправя кода ти , като съм запазила булевата променлива. Променливите със стойност 0 , които ти броят печивата по видове, съм ги изнесла във For цикъла, за да се зануляват при всяка итерация за всеки участник. В твоя код се дублират - веднъж в началото преди циклите и след това в края на While цикъла. За това , че ти дават правилните резултати примерните входове, а в джъдж гърми - мисля, че причината е точно това зануляване на counter-ите вътре в While цикъла. Тъй като в примерните входове всеки участник по веднъж пече даден брой от всяко печиво, а в джъдж предполагам има примери, в които да речем  даден участник пече 5 сладки, 2 гофрети, пак сладки и пак гофрети. И в тези случаи counter-ите ти не държат накрая броя на всички печива от вид. Оттам и проблем с променливата total_baked. Ще видиш, че и нея съм ти я преместила , като тя се увеличава вски път с +1. По-лесно е така :) Не знам дали успях да обясня като хората , извиняваm се за което.

Това е коригираният код - https://pastebin.com/iXLLR0sY

Ето и моя код - https://pastebin.com/f1GGaQmv

0
02/11/2019 18:00:59
antrscks avatar antrscks 4 Точки

Не, не много добре си обяснила, благодаря за което! =] Аз не се замислих, че judge може да пусне вход, като този с който даде пример. Сега проблема в задачата е очевиден. Поздрави и късмет ако утре ще се явяваш на приемния изпит! =]

0
Chyna avatar Chyna 7 Точки

Благодаря ! И на теб :)

0