Codingame: Как Я Остался Без Футболки

Преамбула Меня зовут Руслан и я программист-алкоголик.

Я давно не сталкивался со «спортивным программированием».

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

Я занимаюсь разработкой игр почти 9 лет подряд. Поначалу было интересно работать.

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

Вообще, одно время, чтобы не скучать, я работал над своими небольшими проектами, потом немного подрабатывал, а в начале этого года случайно вспомнил об олимпиадах по программированию и спортивному программированию.

Также название не совсем соответствует тексту статьи, но оно мне очень понравилось.

Если кто-то решит прочитать статью, чтобы увидеть меня без футболки, не делайте этого! О CodinGame Codinggame — онлайн-платформа для проведения соревнований по программированию.

Есть онлайн-редактор, автоматизированное тестирование программ и даже несколько призов.

Перед началом конкурса (проводится раз в месяц) мне предлагается отметить интересных работодателей (в основном это французы), на случай, если кто-то из них захочет меня нанять.

Работу я не ищу, но в результате несколько компаний попросили меня прислать резюме.

Хотя результаты более чем скромные.

Сегодня я обнаружил пункт «участвую ради удовольствия».

В следующий раз я воспользуюсь им.

Кроме того, победителям вручаются подарки.

Например, на следующий конкурс (через месяц) В число подарков войдут: iPhone, робот и автомат с напитками.

10 футболок за 10 лучших решений и по футболке лидера по каждому языку программирования (их поддерживается около 20).

Коротко о ваших успехах и неудачах Первый блин у меня получился совсем комом: наверное, что бы я ни начал писать, онлайн-игра все равно получается.

В общем, писать было слишком сложно.

Второй раз было веселее.

Во-первых, я выбрал в качестве языка Groovy вместо Java. Программирование стало удобнее и быстрее.

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

И через пару недель футболка прилетела ко мне на крыльях Почты России.

Конкуренция среди тех, кто выбирает Groovy, не такая жесткая, как среди пользователей Java или C++.

Третий раз был сегодня.

Я сдал задание на 4 секунды позже оппонента с тем же результатом.

Сегодня у меня остались только впечатления, которые я решил выбросить на Хабр.

О сегодняшнем конкурсе Коротко опишу сегодняшний конкурс.

Входные данные: поле с мишенями и «стенками» на нем, несколько бомб и несколько ходов по их установке.

Мы должны уничтожить все цели.

В общем, решение задач по программированию для меня сводится к решению задачи в голове.

Я подумал и решил, что для уничтожения всех целей мне нужно найти ячейку, бомба которой уничтожит максимальное количество целей.

Повторяйте, пока у вас не закончатся мишени или бомбы.

На третьем туре – ошибка.

Отлаживаю код, оказалась небольшая техническая ошибка, перепутал Math.min и Math.max. Бегу дальше, задача «предвидеть будущее» сорвана.



CodinGame: Как я остался без футболки

Вам нужно заложить бомбу на месте взорвавшейся цели.

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

В результате только одно задание не было выполнено.

В нем вам нужно заложить бомбу не в ту ячейку, из которой взорвется наибольшее количество мишеней:

CodinGame: Как я остался без футболки

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

Хотя оно того стоило.

Причина самая неспортивная, я хотел первым сдать код Groovy. Доступно на CodinGame проблемы с обучением , скорее всего скоро (вероятно через пару недель) там появится сегодняшнее задание.

Какой совет я бы дал другим участникам?

Я думаю, что Codingame — хороший способ попробовать другой язык.

Например, кто-то решил эти проблемы в Bash! Я хочу попробовать это в Го в следующий раз; Если кто-то еще не пробовал себя в «спортивном программировании», возможно, стоит попробовать; Отладку удобно писать в stderr; Мой первый блин получился бы лучше, если бы я сначала потренировался на тестовых задачах; Для любителей «взламывать систему» и «неспортивного поведения».

Поскольку тестирование автоматизировано, возможно, самым быстрым решением было бы жестко запрограммировать ответы.

Я не пробовал и не буду, но должно сработать; Лучше спросить совета у человека, который имел в этом большой опыт, а не у меня.

И жалкий лепет оправданий.

Пока я думал, как лучше написать, что сегодня спешу, на ум пришли эти слова Лермонтова.

Так получилось, что на задание у меня было чуть больше часа (вообще было отведено 3 часа, но я опоздал на старт).

Субботний вечер и, наверное, последний теплый выходной в этом году.

Это то что мне нужно! 87 место.

P.S. А футболка, которую я получил на второй конкурс, выглядит вот так:

CodinGame: Как я остался без футболки

П.

П.

С.

А для тех, кому не понравился CodinGame, есть еще Топкодер .

Теги: #кодирование #спортивное программирование

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.