Доброго времени суток, дамы и господа!
В преддверии приближающегося 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?
Итак, установка.
Что получаем на выходе?
У нас парсится условие задачи, создаётся нужный нам класс с нужным методом, создаются средства для тестирования написанного класса прямо из студии. Далее не забываем сохранить наш исходник локально, отправляем на компилирование на сервер TC и с радостью сабмитим.
Настоятельно рекомендую потренироваться перед завтрашним контестом - привыкнуть к новым фичам.
Завтра, если проснусь к 5 утра, буду первый раз писать с moj, но заслать SRM-496 DIV-2 250 у меня получилось с этой сборкой за > 244,00.
Good Luck & Have Fun!
ВНЕЗАПНО всё ещё жоолтый,
Максим Делюкин aka daftcoder.
В преддверии приближающегося 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++.
Итак, установка.
- Скачаем архив. Разархивируем его в удобную папку (например «X:\TCPlugins\»).
- Запустим TC Arena. Откроем пункт меню «Options => Editor».
- Нажимаем [ 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». - Выбираем добавленный нами CodeProcessor и нажимаем [ Configure ].
Проверяем Editor EntryPoint: «fileedit.EntryPoint», нажимаем [ Configure ].
Во вкладке General у меня лично сейчас настроено так:
- Во вкладке Code Template выбираем нужный нам язык C++ и копируем туда текст из template.cpp (который был в архиве вместе с плагином).
Естественно этот темплейт мы можем изменять и добавлять свои "импорты, дефайны", модули, typedef'ы и прочую разнообразную ерунду.
Нажимаем [ Save ] и [ Close ]. - Проверяем, что в списке скриптов есть «moj.moj». Нажимаем [ Verify ] - должно появиться сообщение о том, что найдено четыре метода. Нажимаем [ Configure ], выбираем «Visual C++».
[ Save ] & [ Close ]. - [ Save ] & [ Close ]
- ??????
- PROFIT
Что получаем на выходе?
У нас парсится условие задачи, создаётся нужный нам класс с нужным методом, создаются средства для тестирования написанного класса прямо из студии. Далее не забываем сохранить наш исходник локально, отправляем на компилирование на сервер TC и с радостью сабмитим.
Настоятельно рекомендую потренироваться перед завтрашним контестом - привыкнуть к новым фичам.
Завтра, если проснусь к 5 утра, буду первый раз писать с moj, но заслать SRM-496 DIV-2 250 у меня получилось с этой сборкой за > 244,00.
Good Luck & Have Fun!
ВНЕЗАПНО всё ещё жоолтый,
Максим Делюкин aka daftcoder.
Единственное что в голову приходит - пишущий на Java боится не протолкнуть совё решение по времени, поэтому пишет на C++ вместо Явы.
На предыдущем онсайте Opencup была задача с польских олимпиад, которую авторы решали с помощью FFT. У нас её и так пропихнули.
Проверил на этой задаче. MSVS 2008.
Или даже, может быть, стоит реквестировать от кого-нибудь пост о специфике онсайта.
Когда последний раз обсуждали, кто-то верно заметил, что Kawigi может сохранить код со всеми тестами, и к нему можно потом подцепиться из студии.
Поэтому теперь я смутно вижу смысл использовать что-то кроме Kawigi Edit :о
Решил не создавать новую тему и спросить сюда.
Пишу на C++.
Впервые поставил и настроил KawigiEdit, и выяснил одну неприятную вещь. Оказывается, при тестировании Kawigi прогоняет все тесты при одном запуске программы. А при тестировании на топкодере каждый тест - это отдельный запуск (проверил).
Я привык всегда полагаться на обнуленные глобальные переменные, а тут получается, что ради тестирования в Kawigi мне придется лишний раз беспокоиться об их состоянии. Конечно, это не особо сложно, но лишнее время отнимет.
Можно с этим как-то бороться?
Плагин установил все вроде нормально, компилируется, но когда отправляю выводит
ERROR while submitting: Error on copying blob data.
Помогите если кто то знает или встречался с такой проблемой.
Боюсь, что это не проблема плагина... А очень грустно. Впрочем вроде админы с этим уже умеют бороться.
Подскажите в чем проблема. Подключил плагины, программа написаная в среде топкодера тс арена компилируется, создается файл си++ во внешней среде, а именно в codeblocs. Редактирую код в codeblocs, начинаю его компилировать не работает. Оно вообще должно компилироваться или нет. Или надо просто писать в редакторе codeblocs сохранять, программу, а компилировать в тс арена. Спасибо.