Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

delian1914 avatar delian1914 99 Точки

Problem 4 - Snowwhite Retake Exam - 05 January 2018 Part II проблем при сортиране

ЗАДАЧА 04. SNOWWHITE ОТ PROGRAMMING FUNDAMENTALS RETAKE EXAM - 05 JANUARY 2018 PART II УСЛОВИЕ

Линк към Judge

Моят код 50/100

 

По условие изходът трябва да се подреди по низходящ ред на физиката на джуджетата, което ми е стойност, след това по брой на джуджетата, което ми е ключ. Ако някоя от подредбите не успее стойностите трябва да останат в редът, в който са влезли и тук идва трудната за мен част.

Dictionary<string, int> dwarfs = new Dictionary<string, int>();
                      

            foreach (var dwarf in dwarfs.OrderByDescending(x=>x.Value).ThenByDescending(x=>x.Key.Count()))
            {
                  Console.WriteLine($"{dwarf.Key} <-> {dwarf.Value}");
            }

Очакван изход

(Yellow) Sasho <-> 4500

(Red) Pesho <-> 2000

(Blue) Tosho <-> 1000

(Green) Gosho <-> 1000

(Stamat) Prakasho <-> 1000

 

Моят изход

(Yellow) Sasho <-> 4500
(Red) Pesho <-> 2000
(Stamat) Prakasho <-> 1000
(Green) Gosho <-> 1000
(Blue) Tosho <-> 1000

 

След първото сортиране по числата OrderByDescending(x=>x.Value) стойтостите, които са равни една на друга остават в реда, който са влезли. След следващото сортиране по брой на джуджета от еднакъв цвят, което е необходимо според условието, стойностите който са равни се разбъркват, а не остават в реда, в който са влезли.

  • If all sorting criteria fail, the order should be by order of input.

 

0
Programming Fundamentals
inser7 avatar inser7 221 Точки
Best Answer

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

1-во решението,което си пуснал в pastebin,гърми много яко в Judge!Интересно ми стана защо-оказа се,че незнайно как отварящата ти скоба за Main() e затваряща :)

 static void Main()
        }
            Dictionary<string, int> dwarfs = new Dictionary<string, int>();

 Оправих го това...

Stamat ти се качва над другите джуджета,защото метода в твоят случай

ThenByDescending(x=>x.Key.Count())

връща броят на всички char-ове и така ти се подреждат по броят им букви,а трябва да се подреждат по брой джуджета с еднакви шапки.

Според мен не си разбрал правилно условието на задачата или по-точно:

total count of dwarfs with the same hat color in descending order

Дефакто за тази задача ще ти трябва вложено Dictionary или Class.Джуджетата се хващат 1-во по шапки,след това по име и накрая по физика.Пробвай с този метод и ако пак имаш проблеми пиши.

Надявам се да съм бил полезен.

Поздрави Георги!

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