ACM чемпионат мира по программированию

На днях корреспондент НедоСМИ оказался на очень значительном и почти секретном международном мероприятии. Вы не найдете в интернете его фотографий, кроме вручения кубка или в лучшем случае общих планов, хотя проходит оно аж с 1977 года. Даже не пытайтесь угадать что это, не заглядывая под кат, – год проведения первого чемпионата обязательно собьет вас с толку.

ACM чемпионат мира по программированию

На днях корреспондент НедоСМИ оказался на очень значительном и почти секретном международном мероприятии. Вы не найдете в интернете его фотографий, кроме вручения кубка или в лучшем случае общих планов, хотя проходит оно аж с 1977 года. Даже не пытайтесь угадать что это, не заглядывая под кат, – год проведения первого чемпионата обязательно собьет вас с толку.

ACM чемпионат мира по программированию

Источник.

ACM чемпионат мира по программированию

1. Спортивная арена. Сто двадцать команд. Зрители. Две телекамеры онлайн-трансляции. И… абсолютная тишина все пять часов.

ACM чемпионат мира по программированию

2. Никакого экшена, только невероятная мыслительная работа.

ACM чемпионат мира по программированию

3. Сложно представить, как эти соревнования проходили 37 лет назад. Арифмометр «Феликс», логарифмическая линейка и карандаш с листом бумаги? ЭВМ в то время были размером с дом или комнату.

ACM чемпионат мира по программированию

4. Это финал международного командного чемпионата мира по программированию ACM ICPC. Впервые за всю историю, он проходил в России.

ACM чемпионат мира по программированию

5. Это самое крутое в мире командное соревнование программистов.

ACM чемпионат мира по программированию

6. 35 тысяч участников из 2322 университетов 91 страны боролись за то, чтобы попасть в этот зал и решить 11 сложных алгоритмических задач

ACM чемпионат мира по программированию

7. Это лучшие молодые мозги мира.

ACM чемпионат мира по программированию

8. Несмотря на то, что они еще учатся в университетах, все, кто дошел до финала, уже трудоустроены

ACM чемпионат мира по программированию

9. Следить за ними начинали класса с шестого, когда они побеждали на своей первой олимпиаде по программированию.

ACM чемпионат мира по программированию

10. Им уже гарантированы зарплаты от 120 тысяч долларов в год и доли акций в компаниях

ACM чемпионат мира по программированию

11. И совсем не обязательно, что эти компании будут иностранными

ACM чемпионат мира по программированию

12. У нас им будут платить не меньше, чем на западе. Да и мотивация у таких людей совсем другая.

ACM чемпионат мира по программированию

13. Они уже принадлежат всему миру. Существует очень немного компаний, которые могли бы постоянно загружать задачами программистов такого уровня.

ACM чемпионат мира по программированию

14. Они очень сложные люди. Акции компании могут рухнуть на миллионы долларов, если ее покинут главные разработчики. Им трудно создать условия для работы и почти нереально собрать коллектив, в котором бы они смогли трудиться.

ACM чемпионат мира по программированию

15. Их ждут компании, которыми вы пользуетесь ежедневно — это Гугл, Фейсбук, Яндекс… И конечно в сложные и интересные стартапы. Работу в банках они считают «ниже плинтуса».

ACM чемпионат мира по программированию

16. Но сама концепция чемпионата не предполагает охоту за сотрудниками. Тот же самый Яндекс, выступая официальным партнером ACM ICPC, даже не имел в зале никакой рекламной растяжки. Всех российских, украинских и белорусских ребят компания знает лично, благодаря своим академическим программам на которые за шесть лет потратила миллиард(!) рублей.

ACM чемпионат мира по программированию

17. Главная цель другая — поддержать среду, в которой могут расти и развиваться талантливые ребята.

ACM чемпионат мира по программированию

18.

ACM чемпионат мира по программированию

19.

ACM чемпионат мира по программированию

20.

ACM чемпионат мира по программированию

21.

ACM чемпионат мира по программированию

22. Шарики вручают за решенные задачи, а так же за другие заслуги типа «Первая команда, выполнившая задание F»

ACM чемпионат мира по программированию

23. Через 5 часов эти ребята в черных футболках будут победителями. До этого, в разных составах, перербургская команда Национального исследовательского университета информационных технологий, механики и оптики (НИУ ИТМО) становилась чемпионами мира четыре раза.

ACM чемпионат мира по программированию

24. Второе место заняла команда Шанхайского технического университета, третье – Токийский университет

ACM чемпионат мира по программированию

25. Для примера перевод одной задачи этого года. Оригинал естественно был на английском:

Недавняя рецессия больно ударила по развлекательным заведениям, в том числе и по игорному бизнесу. Среди казино идет жесткая конкуренция, и, чтобы привлечь игроков, некоторые из них стали проводить особенно привлекательные акции.

Акция казино включает следующее: вы можете играть столько, сколько хотите. И после того, как вы закончите, какую бы сумму вы ни проиграли с момента начала, казино возвращает х% ваших потерь. Естественно, если вы оказались в выигрыше, вы забираете его весь.

При этом нет ограничений ни на продолжительность игры, ни на количество денег, с которым вы вступаете в игру, но вы можете воспользоваться этой акцией только один раз.

Для простоты предположим, что все ставки стоят 1 доллар, а выигрыш составляет 2 доллара. Теперь допустим, что х равно 20. Если вы сделаете всего 10 ставок, перед тем как закончить игру, и только 3 из них выиграют, то ваши общие потери составят 3,2 доллара. Если 6 ставок выиграют, то ваш выигрыш составит 2 доллара.

Даны x и p (вероятность выигрыша единичной ставки в процентах), вам требуется написать программу для определения максимального ожидаемого выигрыша, который вы можете получить, используя любую стратегию игры.

Входные данные состоят из одного теста, который содержит процент возврата х (0 ≤ х <100) и вероятность выигрыша в процентах p (0 ≤ p <= 50). x и p имеют не более двух цифр после запятой.

Выведите максимальный ожидаемый выигрыш с абсолютной погрешностью не более 10 -3

ACM чемпионат мира по программированию

26. Для тех, кто знает основы теории вероятностей и умеет программировать задачка может показаться простой, но это не так — при приближении параметров к допустимым границам возникают серьезные проблемы…

ACM чемпионат мира по программированию

27. Вот как описал чемпионат Алексей Дергунов из команды Самарского государственного аэрокосмического университета, занявшей 35 место:

В начале контеста мы сильно растерялись. Я и craus очень долго думали над задачей F — мы сдали ее под занавес первого часа, по пути отсеяв несколько неверных решений и написав то, к которому не получилось придумать контрпример. Затем мы решали задачу D. Не понимая, как ее делать, Hohol распечатал ответы на первые несколько тестов, но ничего не извлек. Потом я вспомнил задачу с тимуса и написал точно такой же перебор — оказалось, что кандидатов на ответ порядка 50 тысяч (конечно, порядочный ACM-щик должен знать, что их мало, но мы такими не являемся), так что работает прекальк. Дальше подоспели решения задач A и H, которые пришлось немного подебажить, так как писать с первого раза мы так и не научились. Затем мы решили задачу C: сабмит в 3:5x был уже правильным, но TL-ным: команда из трех желтых участников не умеет писать maxflow и поэтому копипастит его с Team Reference, где есть лишь алгоритм Диница, да еще и с кучей ArrayList-ов. Заменив все ArrayList-ы на массивы, мы сразу же получили Accepted. Оставалось немногим более получаса, мы решили, что не умеем решать J за это время (задача, надо сказать, очень противная, из тех, что я особенно ненавижу — куча тупейшей бессмысленной реализации), и поэтому попытались решить B, но, как оказалось, надо было решать специфическую системку уравнений за O(1), как когда-то учили на третьем курсе (на самом деле приятная неожиданность — знания, полученные и успешно забытые в универе, оказались нужными в ACM ICPC!)

ACM чемпионат мира по программированию

28.

ACM чемпионат мира по программированию

29.

ACM чемпионат мира по программированию

30.

ACM чемпионат мира по программированию

31.

ACM чемпионат мира по программированию

32.

ACM чемпионат мира по программированию

33.

ACM чемпионат мира по программированию

34.

ACM чемпионат мира по программированию

35.

ACM чемпионат мира по программированию

36.

ACM чемпионат мира по программированию

37. На следующий день после финала министр обороны России Сергей Шойгу поручил разыскать(!) петербургских студентов, пять раз становившихся чемпионами мира по программированию, чтобы укомплектовать создающиеся в российской армии научные роты. Михаил Кевер, Нияз Нигматуллин и Геннадий Короткевич, доучивайтесь и держитесь от министра подальше. Вы заслуживаете большего, чем набивать школьные рефераты сыну начальника части.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *