Коментари за задачите и тестовете на Judge Assignment 1
Здравейте колеги,
Judge Assignment 1 вече тече, ето линк (трябва да изберете Compete) https://judge.softuni.bg/Contests/502/Judge-Assignment-1-JA1-Syntax-and-Memory-Exercises
Създавам една централна тема за проблеми/грешки в задачите или тестовете. Обръщам внимание на проблеми/грешки - тази тема няма за цел да обсъжда верни решения, има за цел да е централно място, където ако някой има неясноти по условието или смята, че нещо е сгрешено - да може да го каже, или да дойде и да види други хора какво са казали (нямам против да си създавате отделни теми, където да питате колегите за подход към решение на задачите - стига да не ги питате за готови решения - но целта на тази конкретна тема е друга).
Причината да го правя, е че когато ми report-нете проблем през системата няма как да ви отговоря (не ви получавам мейла, а само какво сте написали).
Note: поствам като няколко отделни коментара въпросите на един колега, който е ползвал "Докладвай проблем" от системата, преди да направя тази тема.
Входът и изходът на всички програми в Judge става през конзолата, да. Може би трябваше да го напиша изрично в условието. Системата автоматично въвежда входни данни и проверява изходни данни (това вече го пише), като очаква те да са на конзолата.
Ограничението за време се измерва от началото на изпълнение на програмата до края на изпълнението ѝ. Понеже входът се извършва от системата, това отнема доста кратко време (милисекунди за малки количества входни данни), което няма да повлияе значимо на измерените 0.1 секунди. Ограничението за време се отнася за изпълнението върху системата, не за когато го тествате вие на ръка на конзолата (ако искате все пак да измерите време, можете да тествате като през системната конзола изпълните компилираната програма с пренасочване на входа от файл, например task1.exe < input.txt, където input.txt е файл с входните данни)
Не съм сигурен какво имаш предвид под "решетка". Ако имаш предвид пренасочване на входни и изходни данни към файл - можеш да тестваш компилираната програма така, да, но кодът ти трябва да чете от стандартния вход и да печата на стандартния изход (тоест конзолата, например чрез cin и cout).
Ограничението за памет е за количеството оперативна (RAM) памет, която програмата ползва в даден момент, не за размера на source code-а, нито за размера на резултата от компилацията. Тоест 5МB е максималното, което можеш да имаш заделено за програмата в даден момент от изпълнението (представи си, че общата памет на системата е 5МB, това казва ограничението).
Поздрави,
Жоро
# -това е решетка. Как му викате ?
Two Hex Code -разбирам FF0000 808000 а не #FF0000 #808000
Знак за число, диез (макар че диез не е много точно), hashtag, hash, number symbol съм срещал, и решетка става.
Входните данни имат #. Условието дефинира Hex Code като нещо, което има # отпред. В примерните входни данни има 2 примера с точните входни данни за задачата, както и примери за точния изход, който се очаква при такъв вход.
:D страшен разговор за решетката....
качвам решението на тази въпросна първа задача, оценява ме, като ми дава един грешен резултат. добре, но как да видя какво е дало за вход и какво изкарва коада ми за изход. в Details имам опция единствено да си видя какво съм качил аз като сорс, никъде не ми дава възможност да видя inputs или outputs? какво не правя както трябва или просто ще може след като мине срока за предаване?
Тестовете - заедно с авторско решение - ще ги качим след като мине срока, да. Тъй като можеш да предаваш решение неограничен брой пъти, ако можеше да ги видиш преди края на срока, щеше да можеш да направиш if(...) cout << и да изкараш 100 точки без да решиш задачата :D. Пробвай да измислиш повече примери, с които да си тестваш програмата - общо взето винаги като тестваш нещо трябва да покриеш крайни случаи (минимален/максимален вход), както и редовни случаи, както и комбинация от различни случаи :)
Заради тази решетка ми стана двойно по дълга програмата.
За входа и изхода ми даде само на първия грешен тест нулеви тест на първата задача какво е влязло и излязло. След това спря да дава.