Loading...
zisov4eto avatar zisov4eto 19 Точки

[Homework] Joro The Football Player. И как работи judge системата?

Здравейте колеги, проблема ми е по скоро с judge системата.

Моето решение на задачата е: http://pastebin.com/z60exCD1

И е абсолютно грешно, 0 точки, според judge.

 

Следното решение е авторското: http://pastebin.com/kKKJEqJp

 

Въпроса ми е защо моята задача не минава и метър при положение, че съм я направил, така че да не може да счупи никъде. При грешно въвеждане на данни конзолата ще ви изкара "Invalid entry!".

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

 

Разяснети ми как работи judge системата.

Благодаря.

 

 

2
Programming Basics
RoYaL avatar RoYaL Trainer 6849 Точки

Джъдж системата работи така: Дава един вход и очаква един изход. Проверява изхода с diffchecker. Твоята задача има прекалено много украшения, които на диффчекера няма да минат. Ако задачата очаква изход "5" а ти изпишеш "The output is 5", то следователно 5 != The output is 5, съответно 0 точки.

2
zisov4eto avatar zisov4eto 19 Точки

Но на потребителско ниво няма ли да е доста по разбираемо задачата да се напише по моя начин?

Пък и другото което, задачата си има изисквания:

Constraints

  • The numbers p is in range [0...300] and h is in range [0…52].
  • Allowed working time for your program: 0.25 seconds.
  • Allowed memory: 16 MB

В авторската задача как са спазени ренджовете 0 - 300 и 0 - 52?

-1
RoYaL avatar RoYaL Trainer 6849 Точки

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

Твоят начин на решаване може да е по разбираме за потребители, но джъдж не е потребител ;-)

1
t.316 avatar t.316 137 Точки

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

Системата проверява, какво прочита и какво принтира решението ти. В условието ти се казва кое да прочетеш първо, второ и т.н. След това принтираш само това, което ти е казано. Ако има нещто, което е различно системата няма да го приеме за верен отговор. Това е така, защото на системата и е казано, че верният отговор е примерно 3 и ако програмата ти принтира n = 3 системата го смята за различен от верния отговор.

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

The input data will always be valid and in the format described. There is no need to check it explicitly.

Имай и това в предвид. Няма нужда от тестове, ако ти пише това. Входните дани винаги ще са в опоменатия  range ако пише това. Посочените range са за да се ориентираш, какав тип данни да ползваш. В случая int ти е предостатъчен, но може и да не е така. Може range 0 - 3 000 000 000 примерно и да го направиш с uint или long.

4
20/07/2015 12:38:31
zisov4eto avatar zisov4eto 19 Точки

Разбрах, благодаря. Аз констроирах задачата сякаш я правя за потребител.

На кратко не правиш нищо, което не се иска от теб, а следваш упътването в задачата.

Благодаря, бяхте ми полезни. :)

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