Главная страница «Первого сентября»Главная страница журнала «Информатика»Содержание №4/2008


Олимпиады

Интернет-олимпиада “Верченко-100”: задачи и решения

11 сентября 2007 года исполнилось 100 лет со дня рождения выдающегося советского математика, криптографа и педагога Ивана Яковлевича Верченко (1907–1996). В честь этого события Благотворительный фонд им. И.Я. Верченко и Клуб 4Ф, при поддержке компаний “Лаборатория Касперского”, “Ай-Теко” и “СТЭЛ — Компьютерные системы”, провели 9 сентября интернет-олимпиаду для школьников 8–11-х классов.

Технология проведения

Организаторы олимпиады стремились к тому, чтобы задания олимпиады были именно задачами, предполагающими хотя бы небольшое обоснование ответа, а не просто тестами с выбором ответа из предлагаемых вариантов. Как будет видно из приведенных в этой статье материалов олимпиады, это в целом удалось. Большое число участников и сжатые сроки для подведения итогов требовали максимальной автоматизации процессов проверки решений и ответов. После изучения нескольких вариантов технологической основой для проведения олимпиады была выбрана система дистанционного обучения СДО “Stellus” (разработка компании “СТЭЛ — Компьютерные системы”).

Для участия в олимпиаде требовалось пройти предварительную регистрацию путем заполнения веб-формы. Регистрация была открыта еще в июле, примерно за два месяца до проведения олимпиады. Все участники, зарегистрировавшиеся до 7 сентября, получили возможность предварительно ознакомиться с интерфейсом и порядком работы с СДО на примере специально подготовленных заданий.

Стандартной для всех интернет-олимпиад с большим числом участников является проблема пиковой нагрузки на сервер в самом начале олимпиады. Для преодоления этой проблемы, помимо варианта получения условий задач через личный кабинет участника, на сервере СДО была предусмотрена так называемая “аварийная” схема. Она заключалась в предварительной рассылке файла с зашифрованным текстом условий задач. После начала олимпиады пароль для расшифрования был объявлен на сайте, сообщался автоответчиком на специально заведенном адресе электронной почты.

При проведении олимпиады использовалось 14 вариантов комплектов заданий (10 для индивидуальных участников и 4 для команд). Командные задания комплектовались с учетом количества школьников в составе команды. Число индивидуальных участников из одной и той же школы доходило до двух десятков. Большое число вариантов в определенной мере мешало “лобовому” обмену ответами между знакомыми друг с другом школьниками. С другой стороны, разнообразие вариантов неизбежно повлекло за собой усложнение организации рассылки “аварийных” файлов и проверки решений. Эти проблемы были полностью решены с помощью реализованных в СДО средств.

Подавляющее большинство участников сдавали ответы и решения задач через СДО. Вместе с тем разрешалось присылать подготовленные в текстовом редакторе или даже просто отсканированные решения задач по электронной почте. Это позволило участвовать в олимпиаде школьникам с нестабильным подключением к Интернету или другими техническими проблемами, не позволившими воспользоваться основным вариантом. Около 10% участников сдавали решения задач только по электронной почте.

После окончания олимпиады на сайте были опубликованы ответы и краткие решения по всем 14 вариантам.

Востребованными оказались практически все реализованные в СДО инструменты по автоматизации проверки выполнения заданий. В том числе и механизм апелляций, позволивший исправить ряд неточностей при проверке работ, неизбежных в любом масштабном мероприятии. Было подано и рассмотрено более 50 апелляций, несколько из них были удовлетворены. Ход проверки задач, сданных через СДО, был виден участникам через интерфейс личных кабинетов, в ряде случаев жюри использовало возможность пояснения сути ошибки в решении.

Задания

Задачи олимпиады соответствовали предметным областям “математика” и “информатика”. В той или иной степени каждая из задач связана с проблематикой защиты информации. Часть задач была подготовлена совместно с сотрудниками компании “Лаборатория Касперского”, реализующей собственную программу сотрудничества с образовательными учреждениями.

Ниже приведены условия задач одного из вариантов.

1. Оптимизация времени проверки

На диске имеется 400 файлов, которые необходимо с помощью антивирусной программы проверить на наличие вирусов трех типов — A, B и C. Проверка файла на наличие в нем вируса A занимает 2 миллисекунды, проверка файла на вирус B или на вирус C занимает 5 миллисекунд. Достоверно известно, что вирусом A заражены ровно 10 файлов, вирусом В заражено 20 файлов, а вирусом С — 30 файлов. Не исключается при этом, что некоторые файлы могут быть заражены сразу несколькими вирусами. Антивирусная программа работает так: сначала проверяются все файлы на наличие вируса А (зараженные хоть одним вирусом файлы удаляются!), затем оставшиеся файлы проверяются на вирус В и, наконец, уцелевшие файлы проверяются на вирус С.

1) оцените общее время работы программы;

2) изменяя порядок проверок (скажем, сначала проверяем на В, затем на А, а потом на С), можно изменить и общее время. Как следует изменить порядок проверки, чтобы время работы заведомо уменьшилось?

2. Уравнение в натуральных числах

Найдите хоть одну четверку натуральных чисел х, у, z, w, удовлетворяющих уравнению .

3. Внешине признаки "заражения" вирусами

Сравните представленные картинки с содержимым архива одной и той же директории, созданного в разные дни. Укажите все файлы, которые вероятнее всего подверглись заражению вирусом (отметьте необходимые варианты).

4. Оптимизация алгоритма

Для вычисления хэш-образа используется программа (язык Паскаль). Как переставить строки во фрагменте этой программы, чтобы вычисление происходило быстрее?

for i := 0 to 3 do
for j := 0 to t do
begin
j2 := (j * j) mod 256;
s[i] := (s[i] + j2 * a[4 * j + i]) mod 256;
end;
...

5. Спам

Известно, что подавляющее число электронных писем представляют собой рекламные сообщения (спам). Для автоматического выявления таких писем разрабатываются специальные программы, называемые спам-фильтрами. Один из признаков, по которому в потоке сообщений выделяются нежелательные, является рассылка идентичных сообщений большому числу пользователей. Пытаясь затруднить работу спам-фильтров, программы рассылки спама могут несколько модифицировать рассылаемое сообщение, заменяя некоторые буквы на другие, но совпадающие с ними по написанию (например, “р” в кириллице на “p” в латинице). Сколько разных сообщений может быть получено из текста “Грузите апельсины бочками”?

6. Диск Альберти

Для зашифрования текста использовался вращающийся диск, центр которого находится на оси, закрепленной на неподвижном основании. Диск разделен на 32 равных сектора, в которые в неизвестном порядке вписаны все буквы русского алфавита (по одной в каждый сектор; буквы Е и Ё не различаются). На основании, по одной напротив каждого сектора, выписаны буквы в алфавитном порядке по часовой стрелке. Каждое положение диска, получающееся из исходного поворотом на угол, кратный величине сектора, задает соответствие между буквами на основании и на диске. При зашифровании очередной буквы текста ее заменяли соответствующей ей буквой при текущем положении диска, после чего диск поворачивался на один сектор по часовой стрелке. Укажите, какой из фрагментов полученного шифртекста

У Ш Ц Ш М Ь Г Р У Н В И О Ь Х Ь З Ж И Х С Ж

Ы Р О Р Л Й Я О Ш К Ь Э З Д О Е

может соответствовать слову ШИФРАТОР в исходном тексте:

В И О Ь Х Ь З Ж

У Ш Ц Ш М Ь Г Р

О Ш К Ь Э З Д О

Ж Ы Р О Р Л Й Я

О Р Л Й Я О Ш К

7. Шифровальная машина "Энигма"

На сайте Википедии есть статья про шифрмашину “Энигма” http://ru.wikipedia.org/wiki/Энигма.

Вот фрагмент этой статьи.

“Как и другие роторные машины, “Энигма” состояла из комбинации механических и электрических систем. Механическая часть включала в себя клавиатуру, набор вращающихся дисков (роторов), которые были расположены вдоль вала и прилегали к нему, и ступенчатого механизма, двигающего один или более роторов при каждом нажатии клавиши. Конкретный механизм работы мог быть разным, но общий принцип был таков: при каждом нажатии клавиши самый правый ротор сдвигается на одну позицию, а при определенных условиях сдвигаются и другие роторы. Движение роторов приводит к различным криптографическим преобразованиям при каждом следующем нажатии клавиши на клавиатуре.

Механические части двигались, образуя меняющийся электрический контур, то есть фактически шифрование букв осуществлялось электрически. При нажатии клавиш контур замыкался, ток проходил через различные компоненты и в итоге включал одну из множества лампочек, отображавшую выводимую букву. Например, при шифровке сообщения, начинающегося с ASF..., оператор вначале нажимал кнопку A, и загоралась лампочка D, то есть D становилась первой буквой криптограммы. Оператор продолжал шифрование S таким же образом, и так далее.

Для объяснения принципа работы “Энигмы” приведен рисунок. Он упрощен, — на самом деле механизм состоял из 26 лампочек, клавиш, разъемов и электрических схем внутри роторов. Ток шел из батареи (1) через переключатель (2) в коммутационную панель (3). Коммутационная панель позволяла перекоммутировать соединения между клавиатурой (2) и неподвижным входным колесом (4). Далее ток проходил через разъем (3), в данном примере неиспользуемый, входное колесо (4) и схему соединений трех роторов (5) и входил в рефлектор (6). Рефлектор возвращал ток обратно, через роторы и входное колесо, но уже по другому пути, далее через разъем 'S', соединенный с разъемом 'D', через другой переключатель (9), и зажигалась лампочка.

Таким образом, постоянное изменение электрической цепи, через которую шел ток, вследствие вращения роторов позволяло реализовать многоалфавитный шифр подстановки, что давало высокую устойчивость шифра для того времени”.

Для приведенной на рисунке упрощенной версии “Энигмы” найдите результат зашифрования текста SAFFSDAAS, если известно, что правый ротор (5) сдвигался на один шаг при каждом нажатии клавиши, а остальные роторы — на один шаг после полного оборота соседнего справа ротора. При этом контакты на роторах расположены так, что при сдвиге ротора на один шаг нижний по схеме контакт переходит наверх, а остальные сдвигаются на шаг вниз.

8. Модификации вируса

Существует огромное число известных вирусов, поэтому их поиск в файлах занимает значительное время, однако проверять файлы на вирусы надо регулярно. Чтобы уменьшить время таких проверок, работа антивирусной программы (далее — АВП) организована следующим образом.

Допустим, сегодня вы впервые ее запустили, и она проверила все файлы вашего компьютера на вирусы (это, как известно, может занять несколько часов). Если спустя некоторое время вы вновь запускаете АВП, то теперь она будет искать вирусы уже не во всех файлах, а лишь в тех, которые изменились после последней проверки. Каким же образом АВП узнаёт, изменился файл или нет?

Для этого при первом запуске АВП не только собственно проверяет файл на вирусы, но еще вычисляет и запоминает что-то вроде “визитной карточки” данного файла (эту “визитную карточку” называют также хэш-образом файла; обычно она представляет собой одно или несколько чисел). Любой файл, как известно, состоит из байтов. Каждый байт может быть представлен целым числом от 0 до 255. Поэтому файл можно себе мыслить как цепочку таких чисел.

Вычислить хэш-образ можно, скажем, так: сложить все байты данного файла. Для такого способа хэш-образом файла из трех байт 23, 200, 12 будет число 235. При повторном запуске АВП вновь вычисляет хэш-образ этого файла, и если он по-прежнему равен 235, то АВП считает, что файл не изменился и его проверку на вирусы не производит. Различные АВП вычисляют хэш-образ по-своему. Конечно же разобранный только что способ построения хэш-образа крайне неудачен (по многим причинам) и приведен лишь в качестве примера.

Следующая задача иллюстрирует важность тщательного подбора способа вычисления хэш-образа, используемого антивирусной программой.

Пусть хэш-образ вычисляется по следующему правилу. Байты файла “записываются” построчно в таблицу из четырех столбцов. Затем находится остаток от деления на 256 суммы байтов в каждом столбце. Полученный набор из четырех чисел (в порядке, соответствующем номерам столбцов) и является искомым хэш-образом.

Имеется восьмиразрядный процессор (конечно же разрядность современных процессоров больше, но это не влияет на суть задачи). Про систему его команд известно следующее. Команды бывают двух форматов — однобайтовые и двухбайтовые. Команды, представляемые байтами с числовыми значениями от 0 до 50 (в десятичной системе), однобайтовые. Среди этих команд есть одна особая, при выполнении которой процессор просто переходит к выполнению следующей команды. Эта команда представляется байтом 0 (обычно ее называют “нет операции”). Все двухбайтовые команды начинаются с байта, числовое значение которого больше 50, и при этом второй байт может быть любым.

Заражение исполняемого файла (программы) происходит путем приписывания цепочки команд вируса

32 55 23 7 179 200 18 139 4

49 87 105 38 18 1 56 0 121 148

в начало этого файла (в результате при запуске программы сначала будет выполняться вирус и лишь потом исходная программа). Дополнительно известно, что в этой цепочке команд не встречаются команды переходов (как условных, так и безусловных); таким образом, команды выполняются именно в перечисленном порядке.

Если между некоторыми командами вставить команду “нет операции” (ту самую, с кодом 0), то вирус выполнит те же самые действия (хотя и чуть медленнее). Требуется выполнить вставки в необходимых местах цепочки так, чтобы при приписывании полученного модифицированного вируса в начало произвольной программы хэш-образ ее файла не изменился.

9. Зашифрованный стих

Каждая буква фрагмента сказки А.С. Пушкина заменена некоторой буквой так, что разным буквам соответствуют разные буквы, а одинаковым — одинаковые. Пробелы и знаки препинания сохранены. Найдите цепочку букв, в которую преобразуется слово ОЛИМПИАДА при той же самой замене.

Бтсвбр ел ибвн анжмс,
Гвлъ ел бтсвбрн тсбмс
Т залсбгалрыим цнвкрлим,
Т снвнилим ъл тлълим;
Наь влтснс пнвнъ ърбвцби,
Л пбъ енй хвутслаьеый ъби;
Онакл сли жмрнс вучелд,
Ъл злснйемцл клклд!
Онакл пнтнекм пбнс
Ъл бвншкм ртн гвызнс,
Л бвншкм ен пвбтсын,
Ртн ткбваупкм збабсын

Ответы, указания, решения и комментарии к задачам

Задача № 1

Проверка всех файлов на вирус А занимает 800 миллисекунд. У нас остается 390 файлов. Их проверка на вирус В занимает 1950 миллисекунд. После этого может остаться или 370 файлов (в том случае, если ни один из файлов, зараженный А, не был заражен В), или 380 файлов (все файлы, зараженные А, были также заражены В). Проверка на вирус С оставшихся файлов в первом случае занимает 1850 миллисекунд, а во втором — 1900 миллисекунд. Таким образом, для предложенного порядка проверок (АВС) минимальное время работы программы составляет 4600 миллисекунд, а максимальное — 4650 миллисекунд.

Время работы программы при всевозможных других порядках проверок приведено в таблице.

Интуитивно ясно, что прежде следует выполнять проверки, уничтожающие наибольшее число файлов за наименьшее время. Поэтому, как показано в таблице, невыгодно начинать проверку с поиска вирусов В.

Ответ: Для предложенного в условии порядка проверок наибольшее время работы программы составляет 4650 миллисекунд, а наименьшее — 4600 миллисекунд. Время работы заведомо уменьшится при выполнении проверок в порядке САВ или СВА.

Полностью с этой задачей справились около 10% числа участников, еще немногим более 20% получили верный ответ только по первой ее части.

Задача № 2

Заметим, что для любого действительного числа m верно равенство 3m + 3m + 3m = 3m+1.

Поэтому в качестве х, у, z, w можно было бы взять x = 33, y = 32, w = z = 3.

Искомые числа несложно подобрать и простым перебором на компьютере, например, x = 10, y = 3, w = 2, z = 1.

Эта задача была достаточно популярной — правильные решения нашли около трети от числа участников.

Задача № 3

За редким исключением, дата и время создания файла соответствуют моменту его создания или внесения изменений. Внимательно изучив представленные распечатки, можем заключить, что с наибольшей вероятностью заражению подверглись те файлы, у которых, при оставшихся неизменными дате и времени, изменился хотя бы один из параметров: размер, коэффициент сжатия, контрольная сумма. Этим условиям удовлетворяют два файла: MSOXMLF.DLL, drivers.ini. Изменение этих же параметров при одновременном изменении метки времени у файла KB887472.log представляется вполне естественным. Кроме того, текстовые файлы не несут в себе исполняемого кода и поэтому практически “незаражаемы”.

Ответ: MSOXMLF.DLL, drivers.ini.

Балл, выставляемый за эту задачу, был пропорционален числу “правильно классифицированных” файлов. При этом жюри обращало внимание не только на ответ, но и на сопровождающие его пояснения.

Задача № 4

В строке j2 := (j * j) mod 256; не выполняется операций с переменной i, поэтому внешний цикл по переменной i стоит сделать внутренним. Тогда операции в указанной строке выполнятся t + 1 раз, а не 4(t + 1) раз, как в исходном варианте программы. При этом количество обращений к операторам в других строках сохранится.

for j := 0 to t do
begin
j2 := (j * j) mod 256;
for i := 0 to 3 do
s[i] := (s[i] + j2 * a[4 * j + i]) mod 256;
end;
...

Для жюри оказалось неожиданным относительно небольшое число правильных решений этой задачи.

Задача № 5

В качестве возможного варианта решения этой задачи на сайте было опубликовано следующее.

Каждое изменение похожего по написанию символа (а-a, е-e, о-o, р-p, c-c, у-y, В-B) приводит к удвоению числа вариантов написания всей фразы. Поэтому число возможных полученных сообщений, включая исходное, равно 2 в степени числа вхождения указанных символов в сообщение.

Ответ: 28.

Эта задача примечательна тем, что ее невозможно проверить только по ответу. Формулировка в условии “совпадающие по написанию буквы” допускает много различных трактовок. Например, помимо указанных в решении пар, при изменении размера шрифта русскую букву “з” можно заменить на цифру “3”. Некоторые участники шли еще дальше: считали допустимым замены к-k, б-6 и даже ы — bI! Поэтому при проверке жюри исходило из содержащейся в решении трактовки “совпадения написания” и оценивало правильность подсчета числа вариантов.

Задача № 6

Заметим, что если какие-либо буквы в исходном тексте расположены на таком же расстоянии друг от друга, как и в алфавите, то при зашифровании указанным в условии способом они заменятся одной и той же буквой. Найдем такие буквы в слове ШИФРАТОР. Подходящими являются только буквы Р и Т. Теперь найдем тот из перечисленных фрагментов, в котором на 4-м и 6-м местах расположены одинаковые буквы, а других повторов нет.

Ответ: В И О Ь Х Ь З Ж.

С этой задачей, так же как и с предыдущей, справились около 25% участников.

Задача № 7

Для решения задачи от участников требовалось “всего лишь” вникнуть в описание устройства и, что называется, “по шагам” проследить изменения в электрической схеме, определяющей, какая лампочка загорится после нажатия требуемой клавиши. Стоит обратить внимание, что шифрмашины наподобие “Энигмы”, по сути, являются развитием идеи шифрования из предыдущей задачи.

С седьмой задачей справились лишь 6% участников. Большинство из них затратили значительное время на такое решение. И лишь некоторые обратили внимание на то, что приведенные на рисунке в Википедии диски сводят всю работу “Энигмы” к шифру простой замены: буква S всегда заменяется на F, A — на D, F — на S, D — на А. Действительно, легко видеть, что поворот правого (и левого) диска ничего не меняет в электрической схеме. Чуть сложнее заметить, что вносимые поворотом среднего диска изменения компенсируются при “обратном” прохождении электрической цепи через него.

Ответ: FDSSFADDF.

Задача № 8

Так как приписывание кода вируса к любой последовательности чисел не должно менять значение хэш-образа, искомый вариант вставки нулей должен удовлетворять двум условиям: длина полученного вируса кратна 4 и хеш-образ вируса равен 0, 0, 0, 0. Один из возможных вариантов представлен ниже.

Типичная ошибка при решении этой задачи состояла в игнорировании того факта, что некоторые команды процессора двухбайтовые. Вставка нуля “внутрь” такой команды наверняка приведет к принципиальному изменению выполняемых вирусом действий. Эта задача оказалась самой сложной — полностью справились с ней всего 4 участника.

Задача № 9

Подобные задачи хорошо известны многим школьникам. Сохранение пробелов, знаков препинания и сама стихотворная форма существенно облегчают поиск исходного текста. Обычно начинают с “угадывания” коротких слов, подставляя затем найденные варианты замены букв в остальные слова.

Остров на море лежит,
Град на острове стоит
С златоглавыми церквами,
С теремами да садами;
Ель растет перед дворцом,
А под ней хрустальный дом;
Белка там живет ручная,
Да затейница какая!
Белка песенки поет
Да орешки все грызет,
А орешки не простые,
Все скорлупки золотые...

Ответ: БАМИПМЛЪЛ.

Итоги

Для участия в олимпиаде зарегистрировались 1448 школьников. Около 200 из них объединились в 45 команд. География участников охватила всю Россию: от Калининграда до Владивостока, решали задачи и школьники из Азербайджана, Казахстана, Беларуси, Украины.

Каждая задача была решена кем-либо из участников. Победители (1-е место) как в личном, так и в командном зачете оказались очень близки к решению всего комплекта задач. Таким образом, организаторам удалось подобрать “сбалансированный” комплект задач.

Победители и призеры олимпиады в командном зачете

Победители и призеры олимпиады в индивидуальном зачете

В число призеров вошли участники, полностью решившие 7 и более задач.

Поощрительные грамоты за успешное выступление на олимпиаде высланы ста лучшим по итогам решения задач участникам. В их число вошли все школьники, полностью решившие не менее четырех задач.

Награждение участников из Москвы и области, а также всех пожелавших приехать из других регионов состоялось 9 ноября в Математическом институте РАН им. В.А. Стеклова. Остальным победителям дипломы и призы были разосланы по почте.

За рамками олимпиады

Проведенная олимпиада как нельзя лучше соответствовала древнему высказыванию “главное не победа, а участие”. В самом деле, условия многих задач несли четко выраженную познавательную нагрузку.

Даже просто разобравшись в формулировке, например 8-й задачи, большинство школьников наверняка впервые “изнутри” взглянули на механизмы распространения вирусов и защиты от них. Продемонстрированный в этой задаче способ снижения затрат времени на проверку файлов с использованием хеш-образов по самой постановке перекликается с первой и четвертой задачами, которые вполне вписываются в традиционную тематику олимпиад. С другой стороны, по стилю решения задача 8 близка задаче 2, где надо было найти, например подбором, хотя бы один вариант, удовлетворяющий заданным ограничениям. Подобные параллели между задачами, на взгляд авторов, позволяют сформировать у ребят понимание важности математических дисциплин для становления специалиста в области информационных технологий.

Задачи 9, 6 и 7 (именно в таком порядке) иллюстрируют три этапа эволюции шифров замены. Этот набор задач не только расширяет кругозор ребят, но и позволяет увидеть, как одно только наращивание технологической сложности шифровальных устройств без проработки деталей может привести к эффекту, прямо противоположному желаемому. Действительно, результат работы шифровальной машины в седьмой задаче, по сути, мало отличается от шифра, предложенного в задаче № 9, с которой уверенно справилось подавляющее большинство участников.

Определенную познавательную нагрузку, наряду с задачами, несла в себе и “аварийная” схема. Заложенная в ней идея сугубо криптографическая. Отличие от классической постановки состоит в том, что шифрование применяется для гарантии “одновременности” доступа к информации, а не защиты от ознакомления с ней посторонними. Подобным образом действовали в Средние века некоторые известные ученые (например, Гук), когда публиковали результаты исследований в зашифрованном виде с тем, чтобы впоследствии можно было подтвердить приоритет на то или иное открытие.

Успешное выступление ребят на олимпиаде стало возможным в немалой степени благодаря огромному и самоотверженному труду их школьных учителей. Объем публикации не позволяет перечислить всех, поэтому мы вынуждены ограничиться только теми, кого указали в своих анкетах победители олимпиады:

Алдобаева Елена Владимировна, учитель информатики, школа № 11 г. Железногорска;

Ананина Елена Вениаминовна, преподаватель математики, лицей № 39 г. Озерска;

Бирюкова Светлана Сергеевна, учитель математики, гимназия № 1576 г. Москвы;

Бобровская Елена Васильевна, учитель высшей категории, завуч школы № 24 г. Орла;

Васянин Сергей Иванович, учитель математики, лицей “Вторая Школа” г. Москвы;

Галочкин Александр Иванович, учитель математики, ЦО № 1434 г. Москвы;

Дубских Вера Владимировна, учитель математики, школа № 163 г. Екатеринбурга;

Ильин Владимир Леонидович, учитель математики, физико-математический лицей № 30 г. Санкт-Петербурга;

Куртова Елена Дмитриевна, педагог Центра информационных технологий г. Сосновый Бор;

Нетрусова Наталья Михайловна, учитель математики, школа-интернат “Интеллектуал” г. Москвы;

Осипов Павел Олегович, учитель информатики, лицей № 1557
г. Москвы;

Панькова Марина Геннадьевна, учитель информатики, Самарский лицей информационных технологий;

Савин Виталий Григорьевич, учитель информатики, школа № 1
г. Кореновска;

Самойлов Леонид Михайлович, доцент Ульяновского государственного университета;

Смирнова Валерия Владимировна, учитель информатики, заместитель директора по ИКТ, школа № 10 г. Рыбинска;

Тюкачева Ольга Ивановна, учитель математики, Брянский городской лицей № 1 им. А.С. Пушкина;

Цветкова Оксана Михайловна, учитель физики, школа № 1017
г. Москвы;

Челкак Алиса Петровна, учитель математики, физико-математический лицей № 30 г. Санкт-Петербурга;

Чистякова Елена Николаевна, учитель информатики, гимназия № 2 г. Владивостока;

Шевкин Александр Владимирович, учитель математики, школа № 2007 г. Москвы;

Шедов Сергей Валерьевич, руководитель Мытищинской школы программистов;

Шихова Наталья Викторовна, учитель математики Физико-математического лицея г. Глазова;

Шульман Светлана Владимировна, учитель математики, лицей № 1581 г. Москвы.

А.. В.. Зязин ;
А.. Ю.. Комягин ;
С.. М.. Рамоданов

TopList