Разные мои TopCoder-related новости.
Опубликовали
официальные результаты (можно еще посмотреть
тут) TopCoder Open Development Competition. Я занял 14 место, т.е. вошел в число 15 призеров, которым достаются путевки в Лас-Вегас на финал
TCO в октябре.
Основные баллы мне принесли победы в трех контестах: eSolutions WordPress Theme Build (
http://kit1980.ru/blog/2010/04/16/another-win-at-topcoder-ui-prototype/),
FMS Cognos Cube Info and Quota Attainment Rpts (
http://kit1980.ru/blog/2010/07/04/first-topcoder-assembly-win/) и недавний Fall Plan Resource Tool: Reference Prototype Conversion (
UI Prototype, для
IBM). Ну и плюс еще несколько призовых мест в других контестах.
Проблема в том, что в Лас-Вегас я поехать не смогу: не дали визу в США. Не дали, т.к. не доказал связей с родиной, и отказ был сразу после того, как визовый офицер увидел в анкете, что я фрилансер без постоянного места работы. Надеюсь, что в следующем году визу все-таки дадут (если будет еще куда ехать, конечно).
После долгого перерыва решил вчера поучаствовать в
SRM на TopCoder:
Member SRM 478 (второй дивизион).
Первая задача была примитивной — решил довольно быстро.
Вторая была на математику и вывод формулы, по идее. Или на динамическое программирование. В общем, ничего толкового не придумал.
В итоге за одну задачу +9 баллов к рейтингу: теперь
984.
Выиграл мелкий контест в
UI Prototype на TopCoder:
Hestia B2B CSS and Image Cleanup (результаты были почти три недели назад, но только сейчас окончательно подтвердили). Сделал скриптами на
AWK и
Python.
Пожалуй, первый раз, когда мне реально пригодился Python на TopCoder.
Webkit Canvas2D and Javascript Assembly.
В целях экономии памяти хотят убрать все, включая
DOM и
CSS, но чтобы при этом работал JavaScript и canvas.
Победил в конкурсе
FMS Cognos Cube Info and Quota Attainment Rpts а категории Assembly.
Суть проекта заключалась в написании скрипта на Korn Shell (очень похоже на
bash) и
SQL-запросов для
DB2. Все в итоге должно работать на
AIX (я тестировал в Linux, но учитывал особенности
AIX).
Многое пришлось учить и разбираться по ходу, немного не успел оформить тесты и документацию в срок. Но кроме меня вообще никто не выполнил задания, так что первое место.
Победил в конкурсе
eSolutions WordPress Theme Build 1.0 на TopCoder.
Вкратце — надо было сверстать готовые
PSD-макеты в
HTML/
CSS, добавить
JavaScript-функции для переключения картинок (карусель) и сделать тему для
WordPress с множеством специализированных функций.
Почитал на
форуме TopCoder как человек нарвался на проблему с обратной косой чертой в комментариях в
C/
C++.
Я и раньше такое где-то видел, но тут в приступе прокрастинации решил заняться проблемой подробнее и написал на
StackOverflow и
Хабрахабр (тут минусуют почему-то).
Интересно, что gcc даже при наличии пробелов после обратной косой черты считает ее символом продолжения строки, а Visual Studio — нет (и вроде как и то, и то соответствует стандарту). На TopCoder в алгоритмах в челлендж-фазе нельзя выделить текст и увидеть хвостовые пробелы, так что если бы использовался компилятор Visual Studio, а не gcc, то можно было бы писать программы, в которых невозможно определить, что они делают (но это было нарушением правила сознательного запутывания).
Сегодня прошел первый для меня
SRM в первом дивизионе —
Single Round Match 463.
Ничего не решил и еще сдуру получил -25 на неудачном челлендже.
В итоге больше двухсот баллов минусом к рейтингу, и я возвращаюсь во второй дивизион.
Совсем недавно завершился
Single Round Match 462 на TopCoder.
Первая задача была несколько сложнее, чем обычно бывает во втором дивизионе. Решил, но не очень быстро.
Вторую долго решал, сдал за несколько минут до конца. И уже после окончания приема решений придумал один неочевидный случай, на котором моя программа выдаст неправильный результат. Так что мое решение упало на системных тестах, зато я этим неочевидным кейсом завалил решения шести других участников в моей комнате.
На третью задачу времени не осталось.
В итоге за счет удачных челленджей вышел на первое место в комнате, +98 к рейтингу — и я наконец-то протиснулся в первый дивизион.