Андрейчиков Василий ВГУ ПММ 2 6
Беленко Александр ВГУ ПММ 2 0,5
Бойченко Анастасия ВГУ ПММ 3 3,5
Булгаков ВГУ ФКН 2 0,3
Иванников Максим ВГТУ ФАЭМ 2 3
Карпюк Дмитрий ВВАИИ 2 0,3
Козлова Оля СТИ МИСиС 2 0,5
Колесник Артем ВГТА 3 0,3
Коржов Николай ВГУ ПММ 2 1,5
Лавский Николай СТИ МИСиС 3 0,2
Матюшевский Кирилл ВГУ ПММ 2 0,2
Новаковский Сергей ВГПУ 0,5
Орлова Александра ВГУ ПММ 3 2
Полянский Владислав ВГУ ПММ 2 1
Пронин Сергей ВГУ ПММ 3 2
Сергеев Сергей ВГПУ 2 0,3
Скрипченков Денис ВГУ ПММ 2 1
Соколов Сергей ВГУ ПММ 3 0,2
Сорокин Андрей ВГУ ПММ 2 0,3
Стешенко Сергей ВГПУ 2 0,2
Тахиров Фируз ВГТА 3 0,2
Тищенко Иван СТИ МГИСиС ТУ 3 0,2
Токарчук Роман ВГПУ 2 0,2
Черников Вячеслав ВГТУ ФАЭМ 2 0,2
Шуваев Ярослав ВГТА 3 0,1
Результаты второго тура в номинации «Первокурсники»
Ф.И.О. Уч.заведение Факультет Сумма
баллов
Николаева Татьяна Евгеньевна ВГУ физ 0,3
Драпалюк Владимир Сергеевич ВГУ физ 5
Щербаков Евгений Анатольевич ВГУ ПММ 10
Мамедов Эмин Фарад Оглы ВГУ ПММ 7
Соломатин Алексей Иванович ВГУ ФКН 10
used : array [0..N_MAX] of Boolean;
{ Какие блоки мы уже использовали при строительстве башни }
HCurr : LongInt;
{ Текущая высота башни }
{ Замечание: здесь мы условно вводим блок с номером 0 - это "земля ", он
имеет высоту 0 и на него можно класть всё что угодно }
function Recursion (NewBlock, Side : Byte) : LongInt;
{ Рекурсивная функция. Определяет, какой наибольшей высоты
башни можно достичь, если поставить сейчас на неё блок с номером
NewBlock так , что его высотой будет его сторона с номером Side }
var HBest, HNew : LongInt;
jj, kk : Byte;
begin
{ Ставим новый блок }
used[NewBlock] := TRUE;
HCurr := HCurr + blocks[NewBlock,Side];
{ Пробуем продолжать строительство - перебираем все дальнейшие пути
"достраивания" башни и определяем максимальную достижимую высоту
HBest }
HBest := HCurr;
for jj := 1 to N do
if not used[jj] then
for kk := 0 to 2 do
if build[NewBlock,jj,Side,kk] then
begin
HNew := Recursion(jj,kk);
if HNew > HBest then
HBest := HNew;
end;
{ Снимаем этот блок }
used[NewBlock] := FALSE;
HCurr := HCurr - blocks[NewBlock,Side];