Как стать автором
Обновить

Комментарии 13

А как обеспечивается безопасность?
PS Лично я все подобные (с задачей не имеющей точного решения) соревнования называю марафонами, чтобы не плодить слишком много терминов.
безопастность чего? я года два назад принимал участие в разработке такой системы, поэтмоу много технических деталей могу осветить
Что она программа не может испортить код или данные другой. В java и .NET это делается стандартными срествами, а как в С/С++?
*одна программа
во-первых, на серверной стороне отсутствуют «лишние» библиотеки,
во-вторых, способов существует много — например поставить хуку на вызов и блокировать его…

Ну ntdll.dll и kernel32.dll есть всегда, а больше и не надо. Ну и чужие данные можно испортить без использования системных вызовов, если программы участников загружаются как dll'ки в один процесс.

Еще вопрос. Как вы загружаете java-программы и С++-программы одновременно? Используйте JNI?
стратегии не обязательно компилируются в dll, хотя это и является одним из вариантов
второй вариант является компиляция в exe (соотвествено стратегии на сервере дополняются необходимым кодом), а взаимодействие между процессами и модулем симмулятора осуществляется, например, через стандартный ввод / вывод, или с помощью сокетов…

насчёт dll — такое тоже часто встречается, но надо сказать, что люди понимают — за нарушение правил им грозит дисквалификация не только с CGC, но и основного соревнования, так тчо на моей памяти таких инцидентов не было
А школьники к участию допускается? В частности, в Саратовской области, напимер?
нет, школьаня олимпиада проходит ненмого раньше, и поэтому в Саратове они не учавствуют… хотя я умаю если руководители команд поговорят с организаторами, то может быть пустят

а вот в Таганроге школьники учавствуют на ровне со всеми…
Мне больше понравился CGC 2008 года проводившийся в Волжском. Жаль, что здесь его нет
Да, это было гораздо интереснее предыдущих и вариантов выигрышных стратегий было много больше.

Для тех кто не в курсе: в распоряжении каждого игрока была база и 6 типов юнитов (4 вида наземных боевых юнитов, сборщик ресурсов и вертолет), побежденным считался игрок у которого уничтожили базу и всех юнитов.
Самый веселый вариант подобных соревнований был на моей памяти в 2006 году на Всесибирской олимпиаде. Там участникам было необходимо написать ботов, которые тупо выкидывают число (от 1 до бесконечности). Соответственно, боты соперников (одновременно запускали по несколько ботов), не имея никаких сведений о соперниках, должны были выкидывать числа. Побеждал тот, у кого было самое маленькое число. (При этом если два и более ботов выкинули одинаковое число, они все проигрывали). Насколько я помню, эта идея произвела настоящий фуррор =)))
сурово, но напомнило мне о их CGC последующих лет…
кажется в были ещё лабиринты, летающие тарелки и гонки )

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории