server/nsuts/nsuts_new_rating.cgi
Этот скрипт динамически генерирует и отображает рейтинг (места) участников олимпиады.
Составление рейтинга разбито на 2 функции: gen_rating, подсчитывающую места участников и генерирующую рейтинг и ???, преобразовывающую таблицу рейтинга в html-таблицу.
gen_rating
Участники оцениваются либо по правилам для школьных олимпиад ($checkingmodel = 0), либо по правилам ACM ($... = 1). Смотри
соответствующий раздел.
Учитывается только самая лучшая посылка участника, т. е. в ACM засчитается самая первая из accepted посылок, а в школьных правилах – набравшая больше баллов.
Функция gen_rating возвращает массив @users – абстракцию информации об участнике. Элементы @users – ссылки на хэши следующего вида:
%info = {
'userid', 'login', 'city', 'email', 'trainer', 'trainemail', 'university', 'phone' => очевидно
'title' => ник,
'grade' => класс (для школьников),
'time' => суммарное время (ACM),
'total' => сумма баллов (школьные)/кол-во принятых задач (ACM)
'place' => место в рейтинге,
'tasks' => ссылка на массив хэшей информации по задачам [{'tries', 'time', 'status', 'points'}],
некоторые другие поля
}
#TODO