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

Спортно програмиране (Олимпиадно програмиране, олимпиади по програмиране, Английски. състезателно програмиране ) - решаване на забавни и уникални абстрактни проблеми от ученици-маниаци и приравнените към тях.
Съдържание
[редактиране] Задачи
В зависимост от формата и степента на доставка, участниците са:
- алгоритмичен - няколко проблема за състезанието, които могат да бъдат решени напълно или малко по-малко от напълно.
- оптимизация - един голям проблем, няма цялостно решение. Оценява се докъде е напреднало решението на участника (участниците). При някои проблеми решенията на участниците си взаимодействат (игри).
- изследвания - като в 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 клиент, без да имате компилатори. Проверката на решенията е неинтерактивна, тоест можете да разберете за неуспеха в самия край. Има забавна възможност да се опитате да изчистите решението на друг участник, като му подадете несмилаеми входни данни (но съответстващи на условието на проблема). Също така, най-лесен за измама формат.