Удивлен, что ссылки на Advent of Code до сих пор не видно на Хабре.



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

У каждой задачи есть условие с подробным описанием, несколько примеров и входные данные. Требуется вычислить результат (как правило, это число) и ввести его в поле ввода. Если ответ верный, открывается вторая часть задачи, немного усложняющая первую. За каждый правильный ответ можно заработать по одной звездочке.

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

Комментарии (12)


  1. Find_the_truth
    18.12.2015 11:14

    Вот спасибо)) Как раз искал какие-нибудь задачки) А тут еще и на новогоднюю тематику! =)


    1. StGeass
      18.12.2015 14:14

      Code Wars тогда себе добавьте, там есть и на новогоднюю тематику тоже, в том числе довольно сложные.


      1. Find_the_truth
        20.12.2015 08:02

        Это было жестоко… Уже 3ий день не могу оторваться от задач. Сложные, местами, но затягивают. А система проверки решения — вообще нечто.


        1. toxicmt
          20.12.2015 12:55

          Попробуйте еще наш формат ru.hexlet.io/games ;)


  1. JIghtuse
    18.12.2015 12:09

    Да, странно, что до сих пор не было поста. Участвую с первого дня, задачки забавные. Изредка даже удаётся в Leaderboard попасть.


  1. Mrrl
    18.12.2015 14:30

    Нет, подход «реши простые задачки, тогда откроем сложные» — это не очень интересно. Приятнее идти от самых трудных.


    1. impwx
      18.12.2015 14:38

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


      1. Mrrl
        18.12.2015 15:05

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


  1. Mrrl
    20.12.2015 09:16

    Кстати, вторая задача про молекулу была NP-полной, или только квазиполиномиальной?


    1. iDeBugger
      20.12.2015 12:59

      Да, NP-полная, насколько я понимаю. И вообще на самом деле это порождающая грамматика Хомского.

      О решении усложнённой задачи про молекулу
      В задаче про то как из e надо получить длинную молекулу я действовал полным перебором, но не пытаясь построить молекулу от е, а наоборот, пытаясь сократить результирующую молекулу до е, применяя правила в обратном порядке. Если при этом добавить некоторое количество «жадности» алгоритму, то есть сначала «сворачивать» максимально длинные подцепочки, то результат получается за какое-то совершенно смешное количество итераций. Мне интересно, а как другие её решали?


      1. Mrrl
        20.12.2015 15:34

        Скрытый текст
        Я тоже шёл в обратную сторону. Но оказалось, что жадный алгоритм быстро попадает в тупик и не может из него выбраться. Анализ показал, что тупиком является цепочка CaRnFAr, перед которой не идёт атом Th (и возможно, несколько атомов Ca). После того, как я запретил эти цепочки, алгоритм быстро что-то нашёл.


        1. iDeBugger
          20.12.2015 16:22

          Видимо, мне просто повезло со входными данными :)