Google Code Jam є міжнародним змаганням з програмування, яке приймається і управляється компанією Google. Змагання почалося в 2003 як засіб ідентифікувати найкращі технічні таланти для потенційної зайнятості в Google. Змагання складається з ряду алгоритмічних задач, які мають бути вирішені за відведений час. Учасники можуть використовувати будь-яку мову програмування і середовище розробки, аби отримати їх рішення.
У 2008, більше ніж 11 000 чоловік з більше ніж 128 країн змагалися за призовий фонд загальним розміром більше ніж 80 000 $, включно з головним призом 10 000 $.
Раунди
Турнір складається з декількох online раундів і одного off-line раунду:
- Кваліфікаційний раунд триває 24 -26 годин, залежить від року проведення. Для перемоги у цьому раунді необхідно набрати певну суму балів яка дорівнює виконанню завдання на маленькому і великому джерелі даних. У цьому раунді виходить велика кількість людей які мають змогу продовжувати змагання далі.
- Перший раунд - проходить у три етапи - кожен етап відбувається у різних часових зонах. Раунд триває дві або дві з половиною години, останнім часом дві з половиною години. На кожному етапі обирається тисяча найкращих програмістів, усього проходить три тисячі програмістів. Для проходження цього раунду необхідно потрапити у тисячу програмістів котрі вирішили найбільшу кількість завдань і витратили найменше часу.
- Другий раунд - триває стільки часу скільки і попередній.
- Третій раунд - триває стільки часу скільки і попередній.
- Фінал - триває чотири години. У фіналі бере участь 25 найкращих програмістів. Даний раунд проводиться у одному з офісів компанії Google.
Відгалуження
Інколи компанія Google під егідою чемпіонату проводить регіональні чемпіонати котрі мають іншу структуру від основного чемпіонату.
Задачі
Кожна задача містить певне завдання, структуру вхідних і вихідних файлів, а також два набори даних.
Вхідні файли
- Перший набір, малі дані - Файл котрий містить певну послідовність даних, в основному використовується для перевірки правильності алгоритму. Результатом котрий ви відправляєте на перевірку буде вихідний файл певного формату.
- Другий набір, великі дані - Файл котрий містить велику кількість даних для обчислень, використовується для перевірки не лише правильності роботи алгоритму але і часу за який алгоритм опрацьовує дані. Результатом котрий ви відправляєте на перевірку буде вихідний файл певного формату, а також початковий код програми.
Перевірка результатів
Після того як програміст почав завантажувати дані для перевірки роботи алгоритму одночасно на сайті запускається таймер котрий показує скільки часу залишилося до того, як користувач може завантажити відповідь. Якщо користувач не встигає завантажити результат, то вважається, що він не виконав це завдання. Після того, як користувач завантажив результат відбувається перевірка результату на коректність, у випадку малого набору даних. Якщо результат не коректний, користувачеві видається повідомлення і у рамках часу, котрий залишився, він може спробувати надати правильний результат. У випадку великого набору даних перевірка результату і початкового коду відбувається після раунду, до перевірки це завдання помічається як пройдене. Якщо користувач не встиг завантажити результат, то система вважає що завдання не виконане і користувачеві не надається повторної спроби.
Посилання
- Google — Code Jam [Архівовано 8 грудня 2020 у Wayback Machine.] (англ.)
- Google — Code Jam Past Contests [Архівовано 5 липня 2012 у Wayback Machine.] (англ.)
Це незавершена стаття про програмування. Ви можете допомогти проєкту, виправивши або дописавши її. |