Loading...
MartDAP avatar MartDAP 1 Точки

Exercises: Dictionaries, Lambda and LINQ - 10. Сръбско Unleashed

Здравейте колеги! Вече доста нерви поизхабих върху тази задача и след доста ровене онлайн, не можах да стигна до заключение. Задачата ми дава 70/100 точки в Judge, като при последното изпращане 2 от грешките ми при изпълнение ми станаха грешни резултати. Бих бил доволен, ако ми дадете и само някои гранични случаи да проверя, понеже не мога да се сетя.

Кодът ми: https://pastebin.com/Fnm6u8Gi

Judge

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

0
Fundamentals Module
magickwoman avatar magickwoman 16 Точки
Best Answer

На пръв поглед ми звучи като проблема, с който се сблъсках и аз. Накрая се оказа, че "There will be no redundant whitespaces anywhere in the input."  от условието всъщност е "ключа към загадката". През цялото време си мислех, че това е дадено за да се подразбира, че няма да има излишни празни полета, а то трябвало да се счита за невалиден вход и да се избегне т.е. навсякъде в Split вкарай и "....StringSplitOptions.RemoveEmptyEntries".

Например: ако сложиш space във втория ред с Ceca (... 35 3500) по-долу (от втория нулев тест), този ред ще го пропусне като невалиден и няма да го добави:

Lepa Brena @Sunny Beach 25 3500
Dragana @Sunny Beach 23 3500
Ceca @Sunny Beach 28 3500
Mile Kitic @Sunny Beach 21 3500
Ceca @Sunny  Beach 35 3500
Ceca @Sunny Beach 70 15000
Saban Saolic @Sunny Beach 120 35000
End

Дано съм помогнала! Ако ли не - ще трябва да го разгледам по-подробно. :-)

 

0
MartDAP avatar MartDAP 1 Точки

Благодаря много за отделеното време! За жалост не ми оправи грешките. :/

Възможно е нещо да не съм ви разбрал, така че ще сложа тука промененото решение за всеки случай:

https://pastebin.com/eWXkH4qf

0
magickwoman avatar magickwoman 16 Точки

Ето 1 пример, който е невалиден вход, а при теб минава като валиден, но дава грешен резултат и освен това пълни всичко в tempName т.е. ти проверяваш дали в line има '@' и не е 'End', но после не проверяваш къде е тази '@':

Невалиден вход пример:-------------------------------------

Lepa Brena@Sunny Beach 25 3500
End

-------------------------------------------------------------------------

Грешния резултат:---------------------------------------------

Lepa Brena@Sunny Beach
#   -> 87500

-------------------------------------------------------------------------

 

0
MartDAP avatar MartDAP 1 Точки

Изключително съм благодарен за отговора, колежке! От 70 отидох на 90/100. Също се извинявам, че малко се забавих с отговора. Сега ми остава само да хвана една грешка по време на изпълнение, иначе всичко минава. Предполагам ще проверя дали в първите 2 части се съдържат числа. Поствам си кода тук за всеки случай.

Нов код: https://pastebin.com/Rpz99EzF

Edit: Успях! 100/100! Чак почнах да скачам из стаята от радост. Направих проверка дали venue съдържа в себе си какъвто и да е char от '0' до '9'. Ако да, то е невалиден. Ето го вече Сръбско Unleashed 3.0. Ако видиш това колежке, благодаря много, върхът си!

Final code: https://pastebin.com/UaRBkKZ0

1
24/02/2018 22:59:59
Google avatar Google 188 Точки

Интересна задачка и аз доста се мъчих докато намеря едни 10 точки къде ми отиват.

За съжаление не мога да ти дебъгна сега твоето решение, но мога да ти пратя две решения, надявам се да ти помогнат:

едно решение

две решение

Ако минеш постъпково, може и да ти хрумне къде ти отиват 30 точки.

Препоръчвам ти да гледаш второто решение, тъй като на първото използвах goto (когато забия ми е много удобно да го използвам :) ), което не е добра практика.

0
22/02/2018 23:06:51
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.