Программирование для удовольствия и опыта
by Евгений Викторович Арбатский - Я уже писал про Google Summer of Code.Но там уже никому не получится поучаствовать в этом году.
Сегодня с удовольствием прочитал заметку про спортивное программирование на Хабре. Раньше как-то ни разу не встречал ссылок на эти соревнования, хотя на сайте организаторов (icfpcontest.org) написано что они проводятся с 1998. Соревнование 2009-го года начнется через 2 дня, поэтому кто-нибудь может попробовать свои силы, либо, как я, пока посмотреть как это будет происходить в online в течение 72 часов.
Какие там были задания ранее:
2008 — написать программу управляющую марсоходом, для возврата на базу, избегая злобных марсиан. Ландшафт и физические характеристики марсохода менялись с каждым запуском и были не известны. Управление производилось по сети по протоколу, описанному в задании.
2007 — был дан файл названный ДНК и инструкции по написанию виртуальной машины для его интерпретации. Результат интерпретации — картинка. Единственным способом влиять на результат было дописывание своего префикса к ДНК. Требовалось найти префикс позволяющий получить правильную картинку.
2006 — тоже был связан с виртуальными машинами. Вкратце: после написания интерпретатора виртуальной машины и запуска скачанного файла, вы попадали в некую ОС. В которой надо было решить множество программистских задачек. Начиная от написания программы взлома паролей на Бейсике, в котором все числа задаются римскими цифрами, до написания программы блок-схемами в псевдографике.
Я собираюсь посмотреть как это проводится, посмотреть задания прошлых лет, попробовать их решить, а в следующем году можно будет попробовать студентов/аспирантов организовать и подготовить к участию в соревновании :)
Сегодня с удовольствием прочитал заметку про спортивное программирование на Хабре. Раньше как-то ни разу не встречал ссылок на эти соревнования, хотя на сайте организаторов (icfpcontest.org) написано что они проводятся с 1998. Соревнование 2009-го года начнется через 2 дня, поэтому кто-нибудь может попробовать свои силы, либо, как я, пока посмотреть как это будет происходить в online в течение 72 часов.
Какие там были задания ранее:
2008 — написать программу управляющую марсоходом, для возврата на базу, избегая злобных марсиан. Ландшафт и физические характеристики марсохода менялись с каждым запуском и были не известны. Управление производилось по сети по протоколу, описанному в задании.
2007 — был дан файл названный ДНК и инструкции по написанию виртуальной машины для его интерпретации. Результат интерпретации — картинка. Единственным способом влиять на результат было дописывание своего префикса к ДНК. Требовалось найти префикс позволяющий получить правильную картинку.
2006 — тоже был связан с виртуальными машинами. Вкратце: после написания интерпретатора виртуальной машины и запуска скачанного файла, вы попадали в некую ОС. В которой надо было решить множество программистских задачек. Начиная от написания программы взлома паролей на Бейсике, в котором все числа задаются римскими цифрами, до написания программы блок-схемами в псевдографике.
Я собираюсь посмотреть как это проводится, посмотреть задания прошлых лет, попробовать их решить, а в следующем году можно будет попробовать студентов/аспирантов организовать и подготовить к участию в соревновании :)
Задания ICFP
by Евгений Викторович Арбатский - Посмотрел старые задания:
1998 - нет уже
1999 - текст задания есть, но многие ссылки в нем не работают (лучше сказать: работает лишь несколько)
2000 - текст задания есть, часть ссылок не работает, но это задание уже можно пробовать решить
2001, 2002 - можно пробовать
1998 - нет уже
1999 - текст задания есть, но многие ссылки в нем не работают (лучше сказать: работает лишь несколько)
2000 - текст задания есть, часть ссылок не работает, но это задание уже можно пробовать решить
2001, 2002 - можно пробовать
Re: Программирование для удовольствия и опыта
by Евгений Викторович Арбатский - Осталось 13 часов до старта соревнований, начнутся они в 3 часа ночи 27-го числа по местному времени
Отчет участника соревнования 2009
by Евгений Викторович Арбатский - Источник: http://habrahabr.ru/blogs/icfpc/63354/
Задание описано в двух словах:
Задание описано в двух словах:
Вокруг земли крутится несколько спутников, мы управляем одним из них. Надо выполнить задания, написав серию включений двигателей. Задания проверялись на виртуальной машине-симуляторе, программы для которой предоставили организаторы.
Список задач (в каждой по 4 сценария):- Перейти с одной круговой орбиты на другую круговую
- Тоже только на второй орбите есть другой спутник и нам надо к нему приблизиться и следовать за ним
- Тоже только орбиты обоих спутников — произвольные эллипсы
- Спутников 10 штук + заправочная станция. Надо посетить из все (пролететь рядом)
На следующий день (проспав три часа), уже на работе, я чуть-чуть подчистил код того, что работало и быстро решил вторую задачу. Но почему-то, не смотря на то, что мой спутник следовал за целью с точностью лучше 900 метров, очков не давали. Я добавил автоматическую стабилизацию орбиты и добился точности нескольких сантиметров в течении десятков тысяч секунд, но очков не давали. Побыв в ступоре минут 15, у меня чуть было не случилась истерика) Я понял, что я летал за «призраком», а точнее за отражением цели. Тк организаторам было западло нарисовать картинку в задании, я напутал в знаках и вектор цели был обратным! Добавление минусов в чтение параметров сразу решило все проблемы.
<вырезано>
<вырезано>