Изглежда този път source-ът не беше с даджаите на тази им “мисия” и малцина герои успяха да се преборят напълно с предизвикателството – малцина, но за щастие ги имаше. Преди няколко дни завърши четвърти кръг на конкурса и вече резултатите са готови и можете да ги видите, по традиция, на края на тази публикация. А преди това ще поговорим набързо за събитията случили се в нашата никак неотдалечена галактика – по конкретно за оценяването и впечатленията от алгоритмичната и приложната част на задачата от четвърти кръг.
За оценяването и резултатите от алгоритмичната част
За този кръг е трудно да се каже дали алгоритмичните или приложните части затрудниха повече състезателите. Както винаги изготвихме тестове, които да пуснем в алгоритмите, като в случая това беше сравнително лесна задача – просто си избирахме достижими публични страници от сайтовете на Академията на Телерик (или видеа от YouTube канала – които бяха “по-трудните” тестове).
Получихме няколко алгоритъма, но за съжаление голямата част от тях имаха сериозни проблеми с бързодействието, дори и на “по-лесните” тестове. Всички състезатели предали алгоритми, се бяха досетили, че трябва да се обходят страниците на академията и да се запазят локално адресите и връзките между тях, за да може да се осъществява намиране на път без нужда от Интернет връзка – което е похвално. Но изглежда търсенето в локалните данни не беше оптимизирано, или алгоритъмът за намиране на път при много е бил твърде бавен – за подсказка към състезателите, страниците и връзките между тях могат да се представят като свързан граф, където намирането на най-кратък път може да се осъществи ефективно чрез търсене в ширина. Намирането на адресите в локално запазените данни може да се забърза чрез запазването им в структура като двоично дърво за търсене, което да се сериализира върху диска, или дори като хеш-таблица. В допълнение, не е нужно зареждането на всички данни при търсенето, защото те най-вероятно ще са често повече от нужното. Това са само идеи, но най-вероятно с малко обмисляне биха забързали алгоритмите на участниците.
При добре работещите алгоритми най-честите проблеми бяха “пропускане” на страници от пътя (най-вероятно самото извеждане пропускаше), както и извеждане на неправилни хиперлинкове – или такива, които не съществуват на страницата, или още по-често релативни, които имат няколко наклонени черти повече. На няколко пъти попаднахме на избиране на хиперлинкове които връщат на същата страница (например href=”#”) – което не е голям проблем, но потенциално удължава пътя и намалява резултата.
Поради малката бройка алгоритми, оценяването проведохме на ръка (единствено времето за изпълнение засичахме автоматично), за да сме сигурни, че алгоритмите избираха коректни и съществуващи пътища – така сме и по-сигурни, че нямаме “бъгове” в оценяването.
За оценяването и резултатите от приложната част
Този път приложната и алгоритмичната част бяха по-тясно свързани и това си пролича по резултатите – авторът на най-добре представилият се алгоритъм е и автор на най-доброто приложение. Макар приложението да има още място за подобрение, за този кръг беше единственото, което напълно да изпълнява изискваното търсене и визуализация на свързани страници. Останалите приложни части или изобщо нямаха тази функционалност, или тя не работеше коректно или показваше повтарящи се резултати, несвързани с конкретната задача. Въпреки това журито се постара да оцени всички предадени приложения по описаните критерии.
Тук единствено трябва да отбележим, че ниски точки за “справяне с грешки” и “ползваемост” получиха приложения, които нямаха гореспоменатата основна функционалност, тъй като за този кръг тези критерии мерихме предимно спрямо тази функционалност.
Резултати и награждаване
Ето и класирането – както обикновено, участниците са представени чрез потребителските им имена в студентската система на Телерик.
В този кръг ще наградим само първо място, тъй като разликата в резултата със следващите отбори е твърде голяма.Награждаването за този кръг ще бъде проведено със забавяне, най-вероятно следващия месец – като допълнително ще пишем на отбора на първо място.
Очакваме с нетърпение участието ви в следващия кръг, задачата за който ще обявим след няколко дни!
Автор 1 | Автор 2 | Общо | Алгоритъм | Приложение |
KOCTEHYPKATA | 18 | 10 | 8 | |
krasi.nikolov | ognyan.petkov | 6 | 6 | 0 |
aleks.todorov | nader.dabour | 3 | 0 | 3 |
pemmpty | lazo003 | 3 | 0 | 3 |
aslv1 | 0 | 0 | 0 | |
JavaSTNT | 0 | 0 | 0 |
Подробни резултати и допълнителни материали
Всички допълнителни материали от състезанието (решения на участниците, тестове, лог файлове на тестването и т.н.) могат да бъдат намерени на този адрес: http://downloads.academy.telerik.com/svn/pc-magazine/Public/.
Коментарите са затворени.