Google Code Jam

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Google Code Jam
Изображение логотипа
сайт
Тематика программирование
Язык английский
Основатели Google
Даты проведения c 2003 по настоящее время
Начало проведения 2003
Расположение
Страна Мир
Сайт codingcompetitions.withgoogle.com/… (англ.)

Google Code Jam — международное соревнование по программированию, проводимое Google. Ведёт историю с 2003 года, как средство для выявления лучших умов для возможной работы в Google[1]. Соревнование состоит из набора алгоритмических задач, которые должны быть решены за фиксированное время. В отличие от большинства соревнований по программированию, участники могут использовать любой язык программирования и среду разработки для решения задачи.

Google Code Jam считается одним из самых массовых чемпионатов по программированию. Так, в 2014 году было зарегистрировано почти 50 тысяч участников, среди которых 25 462 человека прошли квалификационный раунд[2].

Во время соревнования участникам предоставляется набор алгоритмических задач, которые нужно решить за ограниченное время. При этом соревнование происходит одновременно, участникам выдаются одинаковые задания, решения которых могут предоставляться на любом языке программирования[3].

Для получения успешного результата участникам нужно не только корректно решать задачи, но и быстро кодировать их реализацию. Задача считается успешно решённой тогда, когда предоставленное решение выдаёт правильные ответы на все тестовые входные данные. При этом с технической точки зрения участник инициирует запрос на тестирование, и система предоставляет ему входные данные, на которые должен быть дан ответ за некоторое предельное время (в зависимости от набора данных). Обычно для тестирования в каждой задаче предоставляется малый и большой набор данных, отличающийся сложностью, и на обработку которых даётся по 4 и 8 минут соответственно[2]. Если на предоставленный набор данных участник даёт корректный ответ (все тесты пройдены), то участнику зачисляется некоторое число очков, зависящее от задачи. Если хотя бы один из тестов неверен, то очки не начисляются, а участнику добавляется штрафное время 4 минуты. Как правило, результат для малого набора данных участник получает сразу после отправления своего решения, а верный ли ответ для большого набора данных становится известным только в конце соревнования[4].

Google Code Jam разрешает использовать любой язык программирования, начиная с C++, JavaScript и заканчивая такими, как INTERCAL, LOLCODE, Whitespace и др[5]. В то же время, участники как правило используют популярные языки программирования, в основном это C++, Java, C#, Python[2].

В 2017 году было подано около 60 000 заявок на участие из более чем 130 стран мира. Приз за первое место в соревновании составляет 15 000 долларов[5].

График проведения соревнований

[править | править код]

В соревновании может принять участие любой желающий. После подачи заявки дается возможность участия в квалификационном раунде, который длится около суток и для прохождения которого необходимо набрать некоторое число баллов. В дальнейшем проводится серия из трёх раундов 1A, 1B и 1C, каждый из которых проходит в разные дни и имеет длительность 2,5 часа каждый. В каждом из этих соревнований проходит в следующий раунд (2-й) по 1000 участников, занявших первые места. Если участник уже прошёл в 2-й раунд, то к участию в 1B и 1C не допускается[4].

После завершения второго раунда в следующем 3-м раунде участвует 500 человек, по завершении которого остается 25 лучших, отправляющихся в финал. Все соревнования, кроме финала, проходят в онлайн[4]. Финальная часть проходит в одном из городов мира, и транслируется в Интернет[6].

Победители соревнований

[править | править код]
Год Место проведения Участников 1-е место 2-е место 3-е место
2020 Виртуальный 44 434 Белоруссия Геннадий Короткевич Канада Кевин Сан Соединённые Штаты Америки Эндрю Хе
2019 Сан-Франциско, США 35 509 Белоруссия Геннадий Короткевич Япония Макото Соэдзима Соединённые Штаты Америки Эндрю Хе
2018 Торонто, Канада 24 584 Белоруссия Геннадий Короткевич Польша Камил Дебовски Япония Макото Соэдзима
2017 Дублин, Ирландия[7] 25 289 Белоруссия Геннадий Короткевич Россия Константин Семёнов Россия Владислав Епифанов
2016 Нью-Йорк, США[8] 27 170 Белоруссия Геннадий Короткевич Филиппины Кевин Атьенза Россия Егор Куликов
2015 Сиэтл, США[9] 23 296 Белоруссия Геннадий Короткевич Япония Макото Соэдзима Южно-Африканская Республика Брюс Мерри
2014 Лос-Анджелес, США[10] 25 462 Белоруссия Геннадий Короткевич Россия Евгений Капун Китай Юйчжоу Гу
2013 Лондон, Великобритания[11] 21 273 Белоруссия Иван Метельский Украина Василий Билецкий Россия Владислав Исенбаев
2012 Нью-Йорк, США 20 613 Польша Якуб Пахоцкий Соединённые Штаты Америки Нил Ву Словакия Михал Форишек
2011 Токио, Япония 14 397 Япония Макото Соэдзима Белоруссия Иван Метельский Польша Якуб Пахоцкий
2010 Дублин, Ирландия 12 092 Россия Егор Куликов Нидерланды Эрик-Ян Крийгсман Россия Сергей Копелиович
2009 Маунтин-Вью, США 8289 Китай Тяньчэн Лоу Китай Цзичао Ци Япония Ёити Ивата
2008 Маунтин-Вью, США 7154 Китай Тяньчэн Лоу Китай Цзэюань Чжу Южно-Африканская Республика Брюс Мерри
2006 Нью-Йорк, США ? Россия Пётр Митричев Китай Ин Ван Россия Андрей Станкевич
2005 Маунтин-Вью, США ? Польша Марек Цыган Нидерланды Эрик-Ян Крийгсман Россия Пётр Митричев
2004 Маунтин-Вью, США ? Аргентина Сержио Санчо Соединённые Штаты Америки По Рух Лох Соединённые Штаты Америки Рейд Бартон[англ.]
2003 Маунтин-Вью, США ? Швеция Джимми Мардель Канада Кристофер Хендри Россия Евгений Васильченко

Результаты по странам

[править | править код]
Страна 1-е место 2-е место 3-е место
Белоруссия Беларусь 8 1 0
Китай Китай 2 3 1
Россия Россия 2 2 7
Польша Польша 2 0 1
Япония Япония 1 1 2
Аргентина Аргентина 1 0 0
Швеция Швеция 1 0 0
Соединённые Штаты Америки США 0 2 3
Нидерланды Нидерланды 0 2 0
Канада Канада 0 2 0
Украина Украина 0 1 0
Филиппины Филиппины 0 1 0
Южно-Африканская Республика ЮАР 0 0 2
Словакия Словакия 0 0 1

Примечания

[править | править код]
  1. Google Launches Code Jam 2003 (18 сентября 2003). Архивировано из оригинала 25 апреля 2012 года.
  2. 1 2 3 Sergii Dymchenko, Mariia Mykhailova. Declaratively Solving Tricky Google Code Jam Problems with Prolog-based ECLiPSe CLP System // Proceedings of the 30th Annual ACM Symposium on Applied Computing. — New York, NY, USA: ACM, 2015-01-01. — С. 2122–2124. — ISBN 9781450331968. — doi:10.1145/2695664.2696032.
  3. Aylin Caliskan-Islam [etc.] De-anonymizing Programmers via Code Stylometry (англ.) // Usenix. — Washington, D.C., 2015. — 12 August. — ISSN 978-1-931971-232. Архивировано 23 апреля 2017 года.
  4. 1 2 3 Terms and Conditions | Google Code Jam. code.google.com. Дата обращения: 22 апреля 2017. Архивировано 23 апреля 2017 года.
  5. 1 2 "Google Code Jam returns with a cash prize of $15,000, registration is open". TechJuice (англ.). 2017-03-16. Архивировано 23 апреля 2017. Дата обращения: 22 апреля 2017.
  6. Логотип YouTube 2016 Code Jam World Finals Live Stream
  7. "Белорус Короткевич вновь стал лучшим на Google Code Jam". 2017-08-11. Архивировано 11 августа 2018. Дата обращения: 11 августа 2018.
  8. "Студент ИТМО Геннадий Короткевич в третий раз подряд выиграл Google Code Jam". Экспертный центр электронного государства. 2016-08-08. Архивировано 23 апреля 2017. Дата обращения: 22 апреля 2017.
  9. "Еще одна победа Гены Короткевича. Белорус победил в конкурсе программирования Google". Архивировано 23 апреля 2017. Дата обращения: 22 апреля 2017.
  10. "Гомельский программист получил от Google 15 тыс. долларов". Архивировано 23 апреля 2017. Дата обращения: 22 апреля 2017.
  11. Белорус Иван Метельский выиграл Google Code Jam 2013 | dev.by. dev.by. Дата обращения: 22 апреля 2017. Архивировано из оригинала 23 апреля 2017 года.