Спортно програмиране

Google Code

Спортно програмиране (Олимпиадно програмиране, олимпиади по програмиране, Английски. състезателно програмиране ) - решаване на забавни и уникални абстрактни проблеми от ученици-маниаци и приравнените към тях.

Съдържание

[редактиране] Задачи

В зависимост от формата и степента на доставка, участниците са:

  • алгоритмичен - няколко проблема за състезанието, които могат да бъдат решени напълно или малко по-малко от напълно.
  • оптимизация - един голям проблем, няма цялостно решение. Оценява се докъде е напреднало решението на участника (участниците). При някои проблеми решенията на участниците си взаимодействат (игри).
  • изследвания - като в ICFPC, където могат да се присъждат точки за успешно откриване на нещо в обект.

Решението обикновено е програма на един от инсталираните програмни езици. Той се компилира на сървъра, работи в пясъчник, чете входни данни от stdin или файл и извежда резултата по същия начин. Красота и само.

Регионални и световни състезания на място, интернет състезания и финали на място се провеждат в съответствие с различни формати на правилата, или просто състезанието се провежда веднъж годишно.

Има и сайтове, които позволяват zadrachivat по всяко време на деня.

Най-успешни обикновено са тези, които започват да се потят още от училищна възраст.

Особено успешен както в обучението на спортисти-програмисти, така и в популяризирането на тази дейност, ITMO University.

В тази страна ICFPC беше широко популяризиран след този пост. През 2010 г. имаше много руски отбори в топ 100 на ICFPC.

[редактиране] Формати на правила

ACM - за студенти. Продължителност 5 часа. Подаването на решения се извършва интерактивно, т.е. изпратеното решение незабавно се компилира на сървъра и се отчита резултатът от тестовото изпълнение. Студентът може да участва във финала на Световното първенство само 2 пъти (в регионални квалификации - 5 пъти), така че най-добрият университет ще загуби до 3 най-добри участници 2 пъти годишно и трябва да готви ново месо. Правилата на ACM са най-популярни и за различни местни състезания извън ACM (както лични, така и отборни).

ACM плюс - същото като ACM, но за успешен проблем не се присъжда една точка, а 1 минус 0,2 * броя на неуспешните опити върху него, следователно проблем, подаден на или след 6-ия опит, влошава резултата на участника.

IOI - за ученици. Можете да изпратите много решения, от няколко години можете да откриете резултатите от теста директно на състезанието и, в случай на неуспех, да подадете с още една патерица. За съжаление, за да не се превърнат в ACM, бяха измислени жетони - два шняга с половин час регенер, които отчитат пълни съкращения (без тях той е достъпен само за част от тестовете). Броят точки за задача зависи от броя на преминатите тестове (максимум = 100, понякога достига 110).

Топкодер алгоритъм - За всички. Той е уникален с това, че е напълно възможно да играете в един Java клиент, без да имате компилатори. Проверката на решенията е неинтерактивна, тоест можете да разберете за неуспеха в самия край. Има забавна възможност да се опитате да изчистите решението на друг участник, като му подадете несмилаеми входни данни (но съответстващи на условието на проблема). Също така, най-лесен за измама формат.