Задача - Andrey and billiard - 80/100
Здравейте,
Решавам тази задача, но не мога да разбера защо ми дава 80/100, пробвах най-странните входове, които се сетих но не успях да си я счупя. Пробвах и с празен вход (това, че винаги принят ред с Total, пак не е проблем).
Може ли един поглед: http://pastebin.com/rmhh575K
1.Andrey and billiard
Andrey is the guy who gives us food and drinks at the game bar. He likes to play billiard. Since you are nice guy you want to help him play more of his favorite game. You decide to create a program which will help him to take orders faster and generate billing information.
First you will receive an integer - the amount of entities with prices (separated by "-"). Then you will receive a list of client. For every consumer you will receive what to buy and how much. When you receive a command: "end of clients" you should display information about every client described below. After that say how much total money were spent while Andrey was playing billiard.
Constraints
- If an entity is added more than once you should override the previous price.
- If buyer tries to buy an entity that is not existing - you should ignore that line.
- Buyers should be ordered by name ascending.
- All floating point digits must be rounded to 2 digits after decimal separator.
- In the end of every buyer his bill should be summed.
- Quantity is an integer. Price – floating point.
Examples
Input |
Output |
Comments |
4 Cola-1.25 Sandwich-2.30 Bira-0.01 Bira-2 Toshko-Bira,3 Mira-Sandwich,1 Marto-Kola,2 end of clients |
Mira -- Sandwich - 1 Bill: 2.30 Toshko -- Bira - 3 Bill: 6.00 Total bill: 8.30 |
Bira's price is overwritten. Since there is no entity named "Kola"- we should ignore that line. |
Много Ви Благодаря!
Бях забравил на един ред да сетна едина булева променлива. Основното объркване при мен идваше от това, как бях разбрал, че трябва да изглежда изходът, и как всъщност трябва да изглежда, но без Ваша помощ това щеше да ми е най-малкия проблем :)
Здравейте,
При мен, теста който използвате дава верен резултат, но въпреки това Judge ми дава едва 60/100.
Дали ще можете да погледнете и да дадете някаква идея къде греша?
http://pastebin.com/bHKTHqPs
Здравей,
Съвета ми към теб е cъщия като на колегата - да пренапишеш задачата гледайки предните решения, където логиката е по-проста, няма нужда от много усложняване. Погледни видеото на Кирил от упражненията и фиксовете.
Ето ти нов тест, който показва грешките ти.
5
Cola-1.25
Sandwich-2.30
Bira-0.01
Bira-2
Bira-1
Toshko-Sudjuk,4
Toshko-Bira,3
Mira-Sandwich,1
Mira-Cola,2
Mira-Bira,2
Toshko-Bira,3
Marto-Kola,2
Dinko-Cola,3
Dinko-Sola,5
Tishko-Sopola,4
Muncho-Kola,3
Dinko-Bira,2
Mira-Cola,1
Tishko-Sandwich,2
end of clients
Ето какво трябва да върне:
Dinko
-- Cola - 3
-- Bira - 2
Bill: 5.75
Mira
-- Sandwich - 1
-- Cola - 3
-- Bira - 2
Bill: 8.05
Tishko
-- Sandwich - 2
Bill: 4.60
Toshko
-- Bira - 6
Bill: 6.00
Total bill: 24.40
Виж какво връща при теб:
Dinko
-- Cola - 3
-- Sola - 5
-- Bira - 2
Bill: 5.75
Mira
-- Sandwich - 1
-- Cola - 3
-- Bira - 2
Bill: 8.05
Tishko
-- Sopola - 4
-- Sandwich - 2
Bill: 4.60
Toshko
-- Sudjuk - 4
-- Bira - 6
Bill: 6.00
Total bill: 24.40
Програмата ти смята точно, но когато съществуващ клиент поръчва несъществуваща стока, ти го печаташ и така програмата ти гърми. Това е проблема.
Благодаря ти много, Пламене!
Както за отделеното време, така и за старателните обяснения и най-вече фиксирания проблем в кода ми! Страхотно е, когато се срещат толкова отзивчиви колеги! Все още не мога да гласувам с +1 за жалост, но го имаш!
Е нищо, важното е, че накрая си реши проблема.
Всичко е добре, когато свършва добре.
Пък и благодарение на теб "изобретих", последната версия на несчупваемия тест за тази задача :))))
Предния както се видя има малък пропуск.
Аз също имам проблем с тази задача, боксувам на 80/100, а двата теста, които @Plamen27 е предложил си минават успешно. Ето кодът(който може и леко да нахейтите за това, че не съм ползвал нито един клас, но все пак исках да пробвам по-различно решение
): http://pastebin.com/W8aneV0U
Ето 3 подобрен Release на несчупваемия тест:
7
Cola-1.25
Sandwich-2.30
Bira-0.01
Bira-2
Bira-1
Sok-0
Boza-7.37
Toshko-Sudjuk,4
Toshko-Bira,3
Mira-Sandwich,1
Mira-Cola,2
Mira-Bira,2
Toshko-Bira,3
Marto-Kola,2
Dinko-Cola,3
Dinko-Sola,5
Tishko-Sopola,4
Muncho-Kola,3
Dinko-Bira,2
Mira-Cola,1
Tishko-Sandwich,2
Gencho-Sok,3
Gancho-Boza,0
end of clients
Gencho като поръчва сок и вместо 0 твоята програма връща многозначително NaN.
Оправих го това, но пак стои на 80/100.. Гърми ми 2-рия тест в джъджа
А как си го оправил, дай код да видим.
http://pastebin.com/6nmZiYPP
Бих предположил, че някъде в този израз ти е грешката. Ти реално не пазиш броя на поръчките, а ги изчисляваш
незнайно защо. Като огледах други решения софтуни няма тест да хваща нулите, тоест това оправяне не решава техните тестове.
Възможно е това изчисляване, което правиш някъде да греши, засега не мога да го хвана. Последния тест и даже предния хващат неща, които ги няма в Софтуни тестовете. Явно обаче има още нещо.