Loading...
fedele avatar fedele 7 Точки

Hornet Armada C# with nested Dictionaries

Здравейте колеги,

 На задачата Hornet Armada Judge ми дава 90/100.

Гърми тест 6 и не мога да преценя на какво се дължи.

някой може ли да каже каква е причината

моето решение -https://pastebin.com/GcAGyMmP

judge -https://judge.softuni.bg/Contests/Practice/Index/864#1

(извинявам се за качеството на кода, но в момента фокусът ми е върху разбирането на речниците и LAMBDA)

 

За печатането има ли вариант да не се използват допълнитлени речници,листове ..., а да стане само с LAMBDA? -мъчих се, но нище не се получи.

Предварително ви благодаря :)

Тагове:
0
Fundamentals Module
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

Сега съм на работа но ще погледна кода по подробно после. Но честно казано тая се прави по лесно с обект 3 вложени речника да се следят е самоубийство.да не говорим че вложени речници никога няма да ползвате след pf.За принтирането да има начини много въпрос на подреждане е 

0
Google avatar Google 188 Точки

Няма нужда да блъскаш всичко в един речник с още два вложени в него, при положение, че принта не ти изисква такава структура. Виж моето решение малко по-опростено от твоето: решение с речници

По отношение на въпроса ти за печатането, само с ЛИНКю няма как да стане без лист или речник, тъй като е свързано със структурата преди това. Ако направиш цялата задача с класове и обекти и използваш само един лист, тогава с ЛИНКю става много елементарно.

0
icowwww avatar icowwww 2779 Точки

IN BOTH cases, stated above, you should update the last activity, with the newly entered one, ONLY if the entered one is GREATER than the previous one.

При теб данните се събират с различни активитита. А не се ъпдейтва текущото активити.

Проблема идва от там, че взимаш всички с активити по- малко от даденото, но имаш различни записи за различните активитита.

Например:

Вход:

6
1 = BlackBeatles1 -> Soldier:2000
1 = BlackBeatles2 -> Soldier:2000
1 = BlackBeatles3 -> Soldier:2000
1 = BlackBeatles3 -> Soldier:2000
1 = BlackBeatles2 -> Soldier:2000
2 = BlackBeatles1 -> Soldier:2000 - Тук трябва ъпдейт на създадения запис.
2\Soldier

Твоя изход:

BlackBeatles2 -> 4000

BlackBeatles3 -> 4000

BlackBeatles1 -> 2000

Изкарва BlackBeatles1, въпреки че активито му е сменено на 2 с брой 2000. Защото гледа, че има запис с активити= 1, което би трябвало да е ъпдейтнато на 2, но при теб е 1.

Очакван изход:
BlackBeatles2 -> 4000
BlackBeatles3 -> 4000

 

За това направих една проверка:

 if (ssoldier.Value.OrderByDescending(x => x.Key).First().Key < aactivity)
                      {
                          foreach (var task in ssoldier.Value)
                          {
                              soldierNum.Add(task.Value);

Сортира ги по Активити и гледа първото(най-голямото активити) да е по-малко от исканото. Решава проблема.

Цялото https://pastebin.com/xR2iF1hP  67 ред

Извинявай за промените, но изтрих някой от излишните ифове, а те не са малко.

Трябваше да намаля малко кода за да ми стане по-ясно

 

Без излишни промени, само колкото да даде 100: https://pastebin.com/wgMDSsQd  само 66 ред и 68ми

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