Advent of Code

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



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

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

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

    Похожие публикации

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

      0
      Вот спасибо)) Как раз искал какие-нибудь задачки) А тут еще и на новогоднюю тематику! =)
        0
        Code Wars тогда себе добавьте, там есть и на новогоднюю тематику тоже, в том числе довольно сложные.
          0
          Это было жестоко… Уже 3ий день не могу оторваться от задач. Сложные, местами, но затягивают. А система проверки решения — вообще нечто.
      0
      Да, странно, что до сих пор не было поста. Участвую с первого дня, задачки забавные. Изредка даже удаётся в Leaderboard попасть.
        0
        Нет, подход «реши простые задачки, тогда откроем сложные» — это не очень интересно. Приятнее идти от самых трудных.
          0
          Вторая часть не принципиально сложнее первой. На самом деле, это скорее маленькое дополнительное условие.
            0
            Это повеселее. Сначала я их понял так, что дни можно открывать только по порядку.
          0
          Кстати, вторая задача про молекулу была NP-полной, или только квазиполиномиальной?
            0
            Да, NP-полная, насколько я понимаю. И вообще на самом деле это порождающая грамматика Хомского.

            О решении усложнённой задачи про молекулу
            В задаче про то как из e надо получить длинную молекулу я действовал полным перебором, но не пытаясь построить молекулу от е, а наоборот, пытаясь сократить результирующую молекулу до е, применяя правила в обратном порядке. Если при этом добавить некоторое количество «жадности» алгоритму, то есть сначала «сворачивать» максимально длинные подцепочки, то результат получается за какое-то совершенно смешное количество итераций. Мне интересно, а как другие её решали?
              0
              Скрытый текст
              Я тоже шёл в обратную сторону. Но оказалось, что жадный алгоритм быстро попадает в тупик и не может из него выбраться. Анализ показал, что тупиком является цепочка CaRnFAr, перед которой не идёт атом Th (и возможно, несколько атомов Ca). После того, как я запретил эти цепочки, алгоритм быстро что-то нашёл.
                0
                Видимо, мне просто повезло со входными данными :)

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

          Самое читаемое