Loading...

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

DenitsaPambelova avatar DenitsaPambelova 3 Точки

[Programming Basics] Онлайн практически приемен изпит 14 и 15 Април 2018 - задача Solar System C#

Здравейте!

Задача Solar System със следното решение ми дава 60т в Judge, а работи с примерите от условието.

Използвам Dictionary,за да не стане дълга проедица от if-oве.

Помощ къде греша?

https://pastebin.com/xF0uXFU9

 

Благодаря!

Тагове:
0
Programming Basics
krasio12356 avatar krasio12356 19 Точки

Когато инициализираш речника със инишалайзинг лист, той вече съдържа всички ключове от листа.

За това проверките по долу дали съдържа ключовете са безсмислени.

Той така или иначе ги съдържа

 

Не е логично веднага след инициализацията, да проверяваш дали речника съдържа ключовете, с които е инициализиран. Той ги съдържа по определение.

 

В случая още първата проверка дава задължително истина и променливата максдейс става 7. 

Проверките по долу са недостъпни, и макс дейс задължително я инициализираш със 7.

 

На примерите не дава грешка, щото примерите не се влияят, от това, че максдейс е 7. Но някои от скритите тестове се влияят от точната стойност на максималните дни и за това нямаш 100 точки.

0
26/04/2018 11:14:16
DenitsaPambelova avatar DenitsaPambelova 3 Точки

Да,няма логика да се проверява,понеже е ясно,че щом ги задавам като ключ и стойност,то те са вътре.

тук искам да кажа ,че ако ключът /планетата/ е Меркурий, максималният престой ще е 7 дни.

 if (dict.ContainsKey("Mercury")) { maxdays = 7; }  - но може би не е правилният начин за изразяване.

Тоест променливата maxdays e различна за различните планети.

 

0
krasio12356 avatar krasio12356 19 Точки

Няма смисъл да пишеш иф конструкция, когато си сигурна в резултата от проверката.

Може или да инициализираш втори речник, в който стойност да са максималните дни. Или да дефинираш клас, в който да обединяваш двете стойности, и този клас да е стойност в речника.

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

 

0
DenitsaPambelova avatar DenitsaPambelova 3 Точки

Благодаря много! С моите знания, за да се освободя от тези ифове, е по-добре да инициализирам втори речник с ключ стринг-името на планетата и стойност максималните дни. и после само една проверка дали дните от конзолата са по-малко от максималните стойности зададени във втория речник.

Ако са повече, печатам "Невалиден брой дни".

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