среда, 17 февраля 2010 г.

Код-камасутра


Наконец закончился индусский ад под названием Time Limit Exceeded, пожиравший мне мозг двое суток. Задачи в этом контесте были не только и не столько алгоритмическими, но и еще на знание техник оптимизации исходного кода. То есть, мало того, что ваша программа должна решить поставленную проблему, уложившись в ограничения по времени исполнения и затратам памяти, надо было еще минимизировать ее по размеру, а это, как известно, рай для всяческого синтаксического изврата. Я вообще по своей натуре люблю такого рода штуки, меня хлебом не корми, дай байтовую экономию навести, может, еще поэтому несмотря на мешки под глазами и запущенную бороду я до сих пор ощущаю себя, как под кайфом.

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

Мы заняли 37-место из 114 команд, но ведь главное участие, правда? К тому же, что нам делать с 7500 индийских рупий в качестве главного приза?

Upd: из 571 команды, 114 — это те, кто решил хотя бы одну задачу.

1 комментарий:

  1. Глянул условие первой задачи -- че-то вообще ничего не понял. Можешь кинуть что у вас получилось для примера?

    ОтветитьУдалить