Google Code Jam

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Google Code Jam є міжнародним змаганням з програмування, яке приймається і управляється компанією Google. Змагання почалося в 2003 як засіб ідентифікувати найкращі технічні таланти для потенційної зайнятості в Google. Змагання складається з ряду алгоритмічних проблем, які мають бути вирішені за встановлену кількість часу. Учасники можуть використовувати будь-яку мову програмування і середовище розробки, аби отримати їх рішення.

У 2008, більш ніж 11 000 чоловік від більш ніж 128 країн змагалися за призові гроші загальним розміром більш ніж 80 000 $, включаючи головний приз 10 000 $.

Раунди[ред.ред. код]

Турнір складається з декількох online раундів і одного off-line раунду:

  • Кваліфікаційний раунд триває 24 -26 годин, залежить від року проведення. Для перемоги у цьому раунді необхідно набрати певну суму балів яка дорівнює виконанню завдання на маленькому і великому джерелі даних. У цьому раунді виходить велика кількість людей які мають змогу продовжувати змагання далі.
  • Перший раунд - проходить у три етапи - кожен етап відбувається у різних часових зонах. Раунд триває дві або дві з половиною години, останнім часом дві з половиною години. На кожному етапі обирається тисяча найкращих програмістів, усього проходить три тисячі програмістів. Для проходження цього раунду необхідно потрапити у тисячу програмістів котрі вирішили найбільшу кількість завдань і витратили найменше часу.
  • Другий раунд - триває стільки часу скільки і попередній.
  • Третій раунд - триває стільки часу скільки і попередній.
  • Фінал - триває чотири години. У фіналі бере участь 25 найкращих програмістів. Даний раунд проводиться у одному з офісів компанії Google.

Відгалуження[ред.ред. код]

Інколи компанія Google під егідою чемпіонату проводить регіональні чемпіонати котрі мають іншу структуру від основного чемпіонату.

Задачі[ред.ред. код]

Кожна задача містить певне завдання, структуру вхідних і вихідних файлів, а також два набори даних.

Вхідні файли[ред.ред. код]

  • Перший набір, малі дані - Файл котрий містить певну послідовність даних, в основному використовується для перевірки правильності алгоритму. Результатом котрий ви відправляєте на перевірку буде вихідний файл певного формату.
  • Другий набір, великі дані - Файл котрий містить велику кількість даних для обчислень, використовується для перевірки не лише правильності роботи алгоритму але і часу за який алгоритм опрацьовує дані. Результатом котрий ви відправляєте на перевірку буде вихідний файл певного формату, а також сирцевий код програми.

Перевірка результатів[ред.ред. код]

Після того як програміст почав завантажувати дані для перевірки роботи алгоритму одночасно на сайті запускається таймер котрий показує скільки часу залишилося до того, як користувач може завантажити відповідь. Якщо користувач не встигає завантажити результат, то вважається, що він не виконав це завдання. Після того, як користувач завантажив результат відбувається перевірка результату на коректність, у випадку малого набору даних. Якщо результат не коректний, користувачеві видається повідомлення і у рамках часу, котрий залишився, він може спробувати надати правильний результат. У випадку великого набору даних перевірка результату і сирцевого коду відбувається після раунду, до перевірки це завдання помічається як пройдене. Якщо користувач не встиг завантажити результат, то система вважає що завдання не виконане і користувачеві не надається повторної спроби.

Посилання[ред.ред. код]