Loading...
nPetrov avatar nPetrov 4 Точки

помощ за 2-ра задача от изпита С# от 19.06.2016

извинявам се за глупавия въпрос , нп може ли някои да ми обясни условието втора задача, и евентуално в 4-та задача в какво си държите данните и как ги сортирате накрая. За 4-та задача съм ползвал : "Dictionary<string, Dictionary<string, long>>", който ми върши работа , но така и не можах да го сортирам.

Тагове:
3
C# Advanced
petar.dimitrov.86 avatar petar.dimitrov.86 450 Точки

Идеята на втората задача е, че имаш три измерения, и трябва да провериш дали дадени координати "уцелват" някакъв елемент от трите измерения. Реално това, което се иска в крайна сметка е да правиш проверки за всички стойности дали са >= 0 и дали са по-малки от размера, който ти е подаден на първия ред. И ако и за трите точки важи това, значи си уцелил елемент от тримерния масив. 

А за четвъртата задача, това е правилния подход, правилните данни ползваш. При сортирането, първо си правиш един var result = именаречника.OrderByDescending(x => x.Value["Black"]).ThenBy(y => y.Key.Length).ThenBy(z => z.Key);

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

            foreach (var innerPair in mainDict.Value.OrderByDescending(x => x.Value).ThenBy(y => y.Key))

4
nPetrov avatar nPetrov 4 Точки

мн ти благодаря за отговора , разбрах всичко, относно за 4 задача май пробвах и това което си написал , ама явно пак някаде съм бъркал.

0
petar.dimitrov.86 avatar petar.dimitrov.86 450 Точки

Ако ти дава 70/100 и последните 3 теста ти гърмят, значи или реджекса ти не хваща минусовите стойности, или сплитваш и по тирета.

3
20/06/2016 16:53:49
AntyfrizZz avatar AntyfrizZz 238 Точки

Здравейте,

 

Малка доуточнение към 2ра задача. Освен 3те измерения, трябва да се има предвид, че ако 4тата стойност е 0, тя не променя елемента.

 

Поздрави!

1
IskrenPenev avatar IskrenPenev 177 Точки

Промяната реално не е от значение ако ползваш Куб от long или int (в ограниченията за стойностите май имаше някаква уловка затова съм ползвал long). Проверяваш само дали координатите са в куба, и ако са валидни задаваш на определената клетка последната стойност от входа. Накрая обхождаш цялата матрица и за всяка клетка със стойност различна от нула отбелязваш в двете променливи които ползваш за краен резултат (freeCells / totalParticles в моя случай)

0
20/06/2016 18:33:06
AntyfrizZz avatar AntyfrizZz 238 Точки

Здравейте,

 

Няма смисъл да заделяш памет за куб...

Всичко от което имаш нужда са 2 променливи:

  • брой на непроменяните елементи
  • сума на променени елементи

2 променливи ти спестяват паментта за куба и цикъла за обхождането му.

 

Поздрави!

0
IskrenPenev avatar IskrenPenev 177 Точки

Съгласен съм, просто идеята да се пробвам да използвам куб ми дойде първа и реших да и отделя 10 минути.. пък то взе че стана. Иначе е вярно, че мога да заменя цялата работа с куба, като добавя още една проверка. 

 

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