Задача - 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. |
Колега, сигурно 1 година по-късно си я решил, но може друг колега, който сега я мъчи да му помогне това, което открих в кода ти: между редове 50-56, където добавяш клиент към списъка ти с клиенти, не разглеждаш случая, при който новопристигналия клиент е съществуващ (по Name) вече в списъка ти. Така в този случай вместо да добавиш само продуктите му, ти създаваш нов клиент със същото име.
Ето моето решение, доста подобно на твоето и имах същия проблем като тебе. Проверката, за която говоря е на редове 69-84. Предполагам с някаква по-читава linq логика може да се напише на 1 ред, но нещо не го измислих, затова форийчвам:
https://pastebin.com/8qBGmBBb
П.С. Прочетете какво е писал Plamen27, неговият пост много ми помогна да открия къде бъркам!