Итоги олимпиады на самый худший код и награждение победителей: ни один компилятор во время проведения не (не) пострадал

Напомним условия конкурса:

«Побеждает тот, кто реализует заданную программу самым оригинальным, запутанным, сложным и невообразимо идиотским способом. Задание: напишите программу, выводящую время, большее текущего на 23 часа».

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


Победитель #1: Айрат Камалетдинов, C++

winner-1

«Что я сделал перед тем, как написать программу?

/* тут подставьте ту мелодию, когда Джонни Айв рассказывает про новый продукт Apple — youtu.be/IOqZXD6cLvg */

Я переосмыслил фразу «время через 23 часа». Программа выводит надпись «время» вертикально (что само по себе уже что-то невероятное!), а также ровно через центр горизонтальной надписи «через 23 часа» (чувствуете силу слова «через»?).

А ещё я обожаю классы, классы — моя страсть. Думаю, получилось достаточно по-индусски».

ab2e2043c1cff170 Приз: 1 фирменная футболка Tproger, 5 фирменных наклеек.


Победитель #2: Константин Захарченко, Java

winner-2
«Данная программа специально оптимизирована, чтобы максимально задействовать вычислительные способности компьютера. Алгоритм является рекурсивным. При проходе мы выбираем случайное число, далее проверяем, затем в случае первого прохода, проверяем чтобы оно было больше нуля, а также проверяем не достигли ли мы конечного результата.

После, используя наше случайное число, запускаем в отдельных потоках сам код расчета времени. Проверяем значение результата последнего времени, и если оно слишком большое, мы прибавляем к нему значение, рассчитанное по тривиальной формуле. Иногда в этой формуле, правда, происходит деление на ноль, из-за несовершенства языка программирования и IDE, но это никак не влияет на работу алгоритма, так что можно эту ситуацию просто игнорировать. Алгоритм выдает значения с точностью ±2. Для лучших показателей мы, их уточняем специальным отдельным алгоритмом.

После всего происходит рекурсивный вызов (какой же алгоритм без рекурсивных вызовов?)».

ab2e2043c1cff170 Приз: 1 футболка, 4 наклейки Tproger.


Победитель #3: Сергей Панферов, Brainfuck

winner-3

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

Если кратко: процесс написания программы заставил меня забыть о том, как я писал программу. Этот вывод чисел… когда у тебя нет операторов if-else, а есть только [ ] (while). Это печально. Мои мозги еле-еле смогли отладить эту программу. Не зря BF так называется».

ab2e2043c1cff170 Приз: 1 футболка, 3 наклейки Tproger.

Бонус: такой же приз получает Елена, которая прислала свой вариант программы на WhiteSpace — языке, в котором используются только пробелы, переводы строки и табуляция.


Победитель #4: Ярослав Лакаев, С

winner-4

«Алгоритм: «О божечки оно работает!»»

ab2e2043c1cff170 Приз: 3 наклейки.


Победитель #5: Сергей Охрименко, C++

winner-5

«Программа написана в лучших олимпиадных традициях. Для начала вычисляются все простые до 100000, решетом Эратосфена за линейное время, потом находим количество секунд от начала дня, инициализируем рандом и после этого строится дерево отрезков, с обновлением чисел на отрезке, входные данные которого случайные простые числа с предыдущего решета. После всех этих операций начинается цикл по всем поддеревам дерева отрезков и считается сумма на отрезках, находится минимум между суммой и значением «время»+23. Найдя отрезок, разница суммы которого и «время»+23 минимальна, мы переходим к бинарному поиску, для подгонки ответа до точного решения и в конце мы обратно считаем от количества секунд значение «время»+23».

ab2e2043c1cff170 Приз: 2 наклейки.


Со всеми победителями в ближайшее время свяжется администрация Tproger для уточнения адреса доставки призов.

Спасибо за участие!

Тарас Сереванн, эксперт в области IT магии