Для тех кто не совсем в теме
Спешу поздравить всех – не так давно прошел очередной ICFP Contest, в котором мы очередной раз учавстовали. Для тех, кто еще не знает, в двух словах – это международное сореврнование для людей, обладающих даром программирования ;) Так, в этом году в этом соревновании более-менее активно учавствовало около 200 команд.
Как обычно соревнование проходило три дня. Команды, которые отослали решения в первые 24 часа, учитываются в т.н. lighting round’e. Все-все хватит ;) Правила и условие задачи можно спокойно прочитать в интернете.
Участники
В этом году в нашей команде было всего два человека – это Я (tt.kilew) Павел Тайкало, и Роман Мазур. Кроме нас, время от времени, подключался Александр Тищенко (amenaphes), и Павел Башмаков (pbashmakov).
Поиски подсказок и планы
Хотя в этом году подсказок не было выложено в интернета, как это часто бывало в предыдущих годах, я выделю одну предложение для этой фазы, потому что мы с Ромой, наверное, за месяц до начала соревнования более-менее регулярно просматривали страницу организаторов в поисках подсказок. Правда, все попытки найти хоть что-то оказались напрасными. Ну и ладно, в любом случае, они не особо помогали и в прошлых годах.
Ну и еще немного о подготовке. Буквально за несколько часов до начала, в репозитории был уже закоммичен код следующего плана:
package com.stanfy.icfp10;
public class ICFPTaskSolver{
public static void main(String[] args) {
ICFPTaskSolver icfpTaskSolver = new ICFPTaskSolver();
icfpTaskSolver.initialize();
icfpTaskSolver.makeICFPTask();
icfpTaskSolver.submitICFPTask();
icfpTaskSolver.profit();
}
public void initialize() {
System.out.println("Initialized");
}
public void makeICFPTask() {
System.out.println("ICFP Task Started");
}
public void submitICFPTask() {
System.out.println("ICFP Task submitted");
}
public void profit() {
System.out.println("Profit");
}
}
Как оказалось, такой план, был не только у нас.
Начало непонимания
15:00(Дальше все время по локальному киевскому +3:00 GMT). Сервер, как ни странно, выдержал первую атаку ICFP-шеров. И уже через минуту мы уже вгрызались в полученное нами задание.
Статья полностью »
Наряду с органиацией интересных соревнований по программированию, с целью популяризации правильного понимания роли разработчика, в отличие от кодера, мы еще и сами любим принимать участие и следить за интересностями в этой области.
Компания GlobalLogic в этом году конкурс “Программания 2009″ делает намного интереснее и привносит в него движение и азарт из реальной жизни.
Организаторами соревнования, была придумана легенда (теория заговора) и внесена в пространство реальных городов. Ну и как же здесь без программирования? Все будет построено на программировании, но от задания можно будет ожидать чего угодно! Поэтому, стоит запастись и фанариком и кусачками колючей проволоки :) Это точно будет что-то интересное.
Принять участие в конкурсе “Программания 2009″ может любой желающий! И расстояние здесь – совсем не помеха! Достаточно хотя бы одного бойца иметь на полях реальной битвы в Киеве, Харькове или Львове, а дальше средства связи вам помогут.
Узнайте подробнее о Конкурсе, правилах участия и зарегистрируйтесь.
Первую часть можно прочитать тут.
28.06.09 (09:00:16) Воскресенье(2й день)
То, что для одних – выходной, для других – день рабочий. Впрочем, Участие в ICFP – это дело добровольное, как оказалось, поэтому в этот день Саша не пришел нам помогать – видать, ему хотелось заданий вроде 2005-2007 годов выпуска. Впрочем. никто его винить не стал ;) Мне и самому задача показалась скучноватой, но раз дело начато – надо его достойно завершить.
Как догнать спутник, который находится рядом стобой на той же орбите мы не знали, однако зная периоды обращения спутников вокруг земли, можно было посчитать, сколько надо подождать, перед тем, как делать переход на другую орбиту. Причем время перехода с одной орбиты мы уже считали довольно точно. Задача мы решали следующим образом:
- Проверяем разницу в углах между собой и спутником
- Считаем, за какое время мы можем эту разницу “догнать”
- Вычитаем из этого времени время перехода с орбиты на орбиту
- Стартуем в нужное время.
Для начала, тем, кто не знаком, с тем, что такое IFCP Contest – прошу ознакомиться. Если, все же, лень, то это ежегодное соревнование контест для программистов со всеого мира. Одной из идей контеста было привлечение интереса к функиональным языкам программирования. Во всяком случае, без него, я бы, наверное, не так скоро узнал о таких вещах как Haskell. В свое время, я пытался разобраться с Prologom – достаточно хорошо выворачивает мозг. Хаскелл – тоже. ;) Довольно приятно осознавать, что научился мыслить немного по-другому.
Да. Отвлекся ;)
За много дней до начала
То, что такое ICFP, я знал уже не первый год, но мне все никак не получалось в нем поучавствовать, по разным причинам. Приятным исключением был прошлый год, когда была задача про управление марсоходом. К ICFP Contestу 2009 я готовился заранее – собирал команду, предупреждал всех за месяц. часто посещал http://icfpcontest.org, и следил за каждым изменением информации о нем. Так что, в моем случае, не получилось так, что ICFP свалился как снег на голову – все было распланировано заранее. Статья полностью »
Если retain вызывают, значит, это кому-нибудь нужно? (с) Мысли вслух.
NSAutoreleasePool * infoPool = [[NSAutoreleasePool alloc] init];
[[[статья alloc] init] autorelease];
[внимание retain];
Итак, постановка задачи – разобраться с методами объектов в Objective-C, отвечающих за управление объектами в памяти, а именно: alloc, init, retain, release, autorelease, dealloc. На самом деле, init не относится к методам управления памятью, но его мы тоже рассмотрим.
Статья полностью »
Для тех, кто не знает, кто не слышал, и кому просто интересно, сообщаю.
Грядет Sapka contest. Для тех кто не дружит с английским – контест – это соревнование.
Соревнование проводится нами для людей, которые любят программировать, а их программировать заставляют. Работа над ним ведется обычными программистами, которые любят участвовать и фанатеют от ICFP Programming Contest, и не преследует никаких особых целей, кроме как провести хорошо время в компании однодумцев, и расслабиться от того, что нам(вам) приходится делать каждый день.
Приглашаются все желающие и не желающие. Задача не покажется скучной ;)
Контест стартует 13 марта в пятницу (именно тогда появится задача на сайте), и последний день приема решений – 20 марта.
Подробнее – можете посмотреть на сайте контеста.
Предварительная регистрация (чтобы оценить количество людей) – тоже на сайте контеста.
Олимпиады по программированию, многим кажутся не интересными и нудными. Там надо решать алгоритмические задачи, да еще и очень быстро их решать. Зачастую выигрывает тот, кто знал алгоритм заранее и просто быстро его напечатал и адаптировал под входные данные, и нужный выходной формат.
Соревнование по программированию, где есть интересная задача и можно использовать многое из твоего профессионального багажа, мне нравятся намного больше. Одно из таких соревнований – ICFP Programming Contest. Здесь есть и алгоритмы, и команда, и сроки не сильно сжаты.
Статья полностью »












