Loading...
Xadera avatar Xadera 5 Точки

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

Admit it – the СРЪБСКО is your favorite sort of music. You never miss a concert and you have become quite the geek concerning everything involved with СРЪБСКО. You can’t decide between all the singers you know who your favorite one is. One way to find out is to keep statistics of how much money their concerts make. Write a program that does all the boring calculations for you.

On each input line you’ll be given data in format: "singer @venue ticketsPrice ticketsCount". There will be no redundant whitespaces anywhere in the input. Aggregate the data by venue and by singer. For each venue, print the singer and the total amount of money his/her concerts have made on a separate line. Venues should be kept in the same order they were entered; the singers should be sorted by how much money they have made in descending order. If two singers have made the same amount of money, keep them in the order in which they were entered.

Keep in mind that if a line is in incorrect format, it should be skipped and its data should not be added to the output. Each of the four tokens must be separated by a space, everything else is invalid. The venue should be denoted with @ in front of it, such as @Sunny Beach

SKIP THOSE: Ceca@Belgrade125 12378, Ceca @Belgrade12312 123

The singer and town name may consist of one to three words.
----
Проблемът ми е следният. В judge-a ми гърмят 3 от проверките. Мисля, че проблема е в това, че не пропускам грешните входове правилно, защото не знам как да чета и сортирам подобен вход правилно. В случаят съм измислил един много плебейски начин който просто хваща дали има грешка, но явно това не е достатъчно. Въпросът ми е как да го оправя? Ето го и кодът ми.

0
Fundamentals Module
damyan91 avatar damyan91 91 Точки

Здравей, и аз имам проблеми с тази задача. Получавам 90 точки, като тест 7 ми гърми и не знам защо. Ако искаш можеш да прегледаш кода ми - http://pastebin.com/N6NPKAse

0
dimbata avatar dimbata 0 Точки

И при мен гърми само 7мият тест. Много ми е интересно какъв е

0
Vissonia avatar Vissonia 1 Точки

И при мен гърми на 7ми тест и не мога да го докарам и да хвана къде бъркам. Гледам другите решения и не хващам какво липсва. Его го и моя код - http://pastebin.com/fbnrNhEn , без RegEx e.

0
WifiAvivi avatar WifiAvivi 151 Точки

Тествайте си задачите с:

Ceca Kleca @Baba Meca 123

*липсва ticketsCount.

 

damyan91, тествай си задачата с:

There Is No At 123 123

* няма @ в командата .

 

 

Оправиха ли се?

0
24/02/2017 06:28:00
HristoSpasov avatar HristoSpasov 36 Точки

След много въртел стигнах до извода, че това най-лесно се решава с Regular Expression (REGEX). Ето едно решение, което получава 100/100 -> http://pastebin.com/m9LJK3tR

Това е линк към един кратък туториал -> https://www.codeproject.com/Articles/9099/The-Minute-Regex-Tutorial

Тук може да се провери дали работи -> http://regexstorm.net/

Христо

0
05/02/2017 20:55:16
AtanasNikolov avatar AtanasNikolov 22 Точки

Благодаря за споделеният опит.

Два дена, по-малко я боря с if else и повече от 70/100 не съм изкарал.

Атанас

 

0
06/02/2017 14:27:37
Aleksandrina_Georgieva avatar Aleksandrina_Georgieva 5 Точки

Може да разгледаш и моето решение. Не използвам регулярни изрази. Със int.TryParse проверявам дали последните две стойности са числа. 

Проверявам и дали има дума, която започва с "@". Judge ми дава 100/100.

http://pastebin.com/PpH4YV7Y

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