daftcoder's blog

By daftcoder, 13 years ago, In Russian
Доброго времени суток, дамы и господа!

В преддверии приближающегося SRM 497 хочу продолжить рассказ о ТопКодере.

Расскажу о установке некоторого набора плагинов TopCoder'а и MS Visual Studio. Язык программирования: C++.

Эта статья является обещанным (но запоздалым :D) продолжением первой вводной статьи. Если вы ещё не участвовали в соревнованиях TopCoder::Algorithm раньше, но интересуетесь, то рекомендую сначала прочитать её.

Микроопыт и микрообзор плагинов.
Буквально вчера посмотрел предложения в первой теме от SkidanovAlex и KADR.
Сам раньше использовал предложенную Алексом связку File Edit + Code Processor + TZTester, но на одном из контестов обнаружил, что TZTester не смог корректно обработать пустой вектор. Пришлось вручную отключать этот тест, а точнее запускать все тесты кроме этого - а это трата драгоценных для TopCoder'а секунд!

Посмотрев же ссылку, предложенную Ярославом, я очень удивился: в теме описывался плагин moj, а так же давалась ссылка на скачивание архива с плагином, в котором находилась достаточно подробная и очень краткая инструкция по установке. Кроме того в архиве находятся два необходимых для moj File Edit и Code Processor. Так же в архиве находятся два небольших темплейта: для C++ и Java. Очень удобно!

Что же нам обещает moj?
  • Более симпатичный вывод.
  • Вещественные типы сравниваются как на TopCoder'е с относительной и абсолютной погрешностью 10-9.
  • Добавление пользовательских тестов становится легче.
  • Поддержка Java. Вы можете открыть задачи и переключаться между Java и C++.

Итак, установка.
  1. Скачаем архив. Разархивируем его в удобную папку (например «X:\TCPlugins\»).
  2. Запустим TC Arena. Откроем пункт меню «Options => Editor».
  3. Нажимаем [ Add ].
    Name: «CodeProcessor»
    EntryPoint: «codeprocessor.EntryPoint»
    ClassPath: [ Browse ], находим в нашей папке («X:\TCPlugins\») файлы CodeProcessor.jar, FileEdit.jar и moj.jar, выделяем их, нажимаем [ Open ].
    Длжно поулчиться что-то вроде «X:\TCPlugins\CodeProcessor.jar;X:\TCPlugins\FileEdit.jar;X:\TCPlugins\moj.jar».
  4. Выбираем добавленный нами CodeProcessor и нажимаем [ Configure ].
    Проверяем Editor EntryPoint: «fileedit.EntryPoint», нажимаем [ Configure ].
    Во вкладке General у меня лично сейчас настроено так:
  5. Во вкладке Code Template выбираем нужный нам язык C++ и копируем туда текст из template.cpp (который был в архиве вместе с плагином).
    Естественно этот темплейт мы можем изменять и добавлять свои "импорты, дефайны", модули, typedef'ы и прочую разнообразную ерунду.
    Нажимаем [ Save ] и [ Close ].
  6. Проверяем, что в списке скриптов есть «moj.moj». Нажимаем [ Verify ] - должно появиться сообщение о том, что найдено четыре метода. Нажимаем [ Configure ], выбираем «Visual C++».
    [ Save ] & [ Close ].
  7. [ Save ] & [ Close ]
  8. ??????
  9. PROFIT

Что получаем на выходе?

У нас парсится условие задачи, создаётся нужный нам класс с нужным методом, создаются средства для тестирования написанного класса прямо из студии. Далее не забываем сохранить наш исходник локально, отправляем на компилирование на сервер TC и с радостью сабмитим.
Настоятельно рекомендую потренироваться перед завтрашним контестом - привыкнуть к новым фичам.

Завтра, если проснусь к 5 утра, буду первый раз писать с moj, но заслать SRM-496 DIV-2 250 у меня получилось с этой сборкой за > 244,00.

Good Luck & Have Fun!

ВНЕЗАПНО всё ещё жоолтый,
Максим Делюкин aka daftcoder.
  • Vote: I like it
  • +17
  • Vote: I do not like it