Loading...
xanderbg avatar xanderbg 53 Точки

[exam] Programming Fundamentals - 3.Football Standings - Разлика в изхода между Judge и моята конзола?

Здравейте,

Анализирам си грешките от изпита и попаднах на нещо странно в нулевия тест на задача 3.Football Standings и не знам дали аз нещо не полудявам, но го сравних 3 пъти. Изхода ми в джъджа излежда различно от това, което ми излиза на конзолата на компютъра ми за един и същи код за 1-вия нулев тест. Разликата се изразява в размяната на местата на  4. DENMARK 1 и 5. ITALY 1.

 

снимка от judge

 

А това е кода от това решение (№1197827) на задачата: код.

 

Моля да го погледнете. Ако ми кажете и къде ми е грешката по принцип в кода ще съм благодарен :)

0
Fundamentals Module 12/06/2016 20:43:44
mishomihaylov avatar mishomihaylov 67 Точки

Пробвали да ползваш SortedDictionary ? Според мен проблема е в това, че като са с еднакви score-ове трябва да са подредени лексикографски. Тоест, като използваш SortedDictionary, те се подреждат по имена докато ги вкарваш и после си ги сортираш и по точки направо в foreach-а по следния начин ->
teamsByPoints.OrderByDescending(x => x.Value). Пробвай и кажи дали ще се оправи със SortedDictionary.

0
12/06/2016 21:13:44
xanderbg avatar xanderbg 53 Точки

На изпита пробвах със SortedDictionary и даде 10 точки по-малко :D. Тоя сорт сигурно ще сработи на пръв поглед, ама няма как да го тествам в джъджа. Пробвах няколко неща и изхода ми изглежда като в заданието. Джъджа обаче е на друго мнение.

0
Filkolev avatar Filkolev 4482 Точки

Доста често се получава това, не е съвсем ясно каква е в крайна сметка причината в Judge да изкарва различни резултати.

Ясно е, че е заради сортирането. Ползваш нестабилно сортиране, а ти трябва стабилно изглежда (OrderBy и другите методи от LINQ са такива).

Защо обаче един и същи метод (нестабилния Sort()) връща различни резултати на машините на студентите, от една страна, и в Judge, от друга, е въпрос с повишена трудност.

2
ralitsa_d avatar ralitsa_d 171 Точки

Някъде в условието се споменаваше, че ако има два отбора с еднакъв брой точки или еднакъв брой отбелязани голове, те трябва да са сортирани лексикографски. Т.е.имаш сортиране първо по стойност, а след това по име на отбора. Знам, че звучи логично в такъв случай да работи със SortedDictionary, но аз използвах несортиран речник с двете сортирания в края на програмата и получих 100/100.

Ето и кода.

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