Задача 02.Lutenitsa от Programming Basics Exam - 05 November 2017 е с грешна логика на решението
Това е въпросната задача: https://judge.softuni.bg/Contests/Practice/Index/828#1 В решението и е допусната логическа грешка и съответно в Judge е заложен погрешен очакван изход. Проблемът се състои в следното:
На изхода трябва да се изведе разликата между произведените буркани с лютеница и тези, които се побират в един камион, като естествено резултатът трябва да бъде закръглен надолу към най-близкото цяло число (интересуват ни само пълни буркани). Количеството произведени буркани получаваме, като количеството произведена лютеница разделим на количеството, което се побира в един буркан. И двете стойности са дробни числа и съответно за бройката на бурканите също получаваме дробно число. Грешката, която е допусната е, че при изчисляването на разликата с бурканите, побиращи се в камиона, се използва реалната стойност на произведените буркани, а не само цялата част на числото. Когато те са повече от бурканите, които се побират в камиона, резултатът е коректен, но в обратния случай се получава грешка в изхода от 1 буркан. Пример: 100 буркана се побират в камиона, 98,2 буркана сме произвели. 100 - 98,2 = 1,8 Закръгляме според условието на задачата и се получава, че ни достига само 1 буркан, тоест буркан, пълен на 20% го приемаме за цял. Същата грешка се допуска и при изчисляването на разликата в касетките.
Ето решението на задачата, което считам за правилно: https://pastebin.com/7Hce7KmP
AlenPaunov, по вашата логика, ако в касетката има един буркан с една "плювка" лютеница в него, то тя се счита за пълна, така ли? Станете производител на лютеница и се придържайте към тази логика пък да видим колко ще изкарате на пазара, Ами, ако не става въпрос за буркани и касетки, а за палети? Ако отговаряте за оптимизирането на транспорта в една фирма и на всеки курс изпращате палети, с по един кашон на тях, дълго няма да изкарате на поста си. По вашата логика, когато сме произвели повече буркани, отколкото камионът побира, тази "плювка" лютеница трябва да се счита за един буркан в повече. Но в авторското решение това не се случва. Някакво обяснение за това да дадете?
Привет отново,
аз се опитвам да обясня следното:
ако произведа лютеница, която се събира в 98.2 буркана, аз няма да напълня 98 и един да го резна, а ще сложа лютеница в 99 буркана. Камионът побира 100 буркана, а аз товаря 99. Значи не ми достига 1 буркан, за да е пълен.
Един буркан, празен, пълен или до половината, продължава да си е един буркан, заемащ едно и също място като обем, тук съдържанието на лютеница не е релевантно.
При тест "262.685; 1; 100" излиза, че имаме 98.2 буркана с лютеница, камионът не е пълен и са ни необходими още 0 касетки и 1 буркан.
Поздрави!
AlenPaunov, ще приема логиката Ви за вярка, ако ми обясните защо, когато бурканите са по-малко, приемате 0,2 за цял буркан, натоварен в камиона, а когато са повече 0,2 не се счита за буркан, оставащ в излишък? Аналогично е и за касетките. Справка: първият примерен вход-изход от условието на задачата.