Професионална програма
Loading...
+ Нов въпрос
LiardaZZ avatar LiardaZZ 26 Точки

Hornet Armada - 26 February 2017 Part II --> дава ми 80/100 точки в джъдж

Здравейте,

Някой би ли могъл да ми каже къде греша с този код в задачата? Дава ми 80/100 (2 runtime errors). Много ще съм благодарен, ако някой ме насочи :)

ето кода --> http://pastebin.com/GuGPVyQp

ето и задачата в джъдж --> https://judge.softuni.bg/Contests/Practice/Index/477#1

Тагове:
0
Programming Fundamentals
LiardaZZ:
Отговориха ми :)
Teodor92 avatar Teodor92 579 Точки
Best Answer

Проблема идва ето от тук:

foreach (var legion in legionParams.OrderByDescending(x => x.Value[currentSoldierType]))

Изглежда има случай в които currentSoldierType, няма да съществува в речника. Една допълнителна филтрация решава проблема:

foreach (var legion in legionParams
     .Where(x => x.Value.ContainsKey(currentSoldierType))
     .OrderByDescending(x => x.Value[currentSoldierType]))

 

2
19/03/2017 00:33:14
LiardaZZ avatar LiardaZZ 26 Точки

Много благодаря :)

0
Daniel.Kolev avatar Daniel.Kolev 9 Точки

Добър отговор, харесва ми :)

0