Блог пользователя MikeMirzayanov

Автор MikeMirzayanov, 11 лет назад, По-русски

Сегодня мы вновь хотим провести тестовый и нерейтинговый раунд по необычным правилам. Цель для нас — протестировать проверить новые правила, новый вид задач и работу Codeforces внутри тега <iframe>.

Старт запланирован на 22:30, появится специальная ссылка, чтобы войти в контест. Условия задач и интерфейс будут доступны только на английском языке. Продолжительность контеста составит 1.5 часа. Уверен, многие справятся быстрее.


Перейти к контесту →

В соревновании будет два вида задач: логические задачи и программистские задачи.

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

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

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

Задачи будут относительно простые, но как небольшое развлечение — самое то!

Спасибо всем, кто присоединится. Ждем ваших отзывов в комментариях.

  • Проголосовать: нравится
  • +82
  • Проголосовать: не нравится

»
11 лет назад, # |
  Проголосовать: нравится +10 Проголосовать: не нравится

  • »
    »
    11 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +8 Проголосовать: не нравится

    Ничего страшного. У нас добрая традиция давать олимпиады, например, в 19:00-19:30 по праздникам (например, 2 мая следующая), и в 11:00 по пятницам (как недавно) :)

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится +17 Проголосовать: не нравится

    Уверен, многие справятся быстрее.

    Видимо, все предусмотренно.

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится +30 Проголосовать: не нравится

    У тебя будет отличный стимул решать быстрее.

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Испанский финал)

»
11 лет назад, # |
  Проголосовать: нравится +10 Проголосовать: не нравится

будет интересно, но ... жаль, Лига Чемпионов

»
11 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Interesting :D

but what is the registration start time ? I cannot find anything in the Pay attention dialog box.

»
11 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Will we be able to see the results as in classic CF round ?

»
11 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Will this round be rated????

»
11 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

I cant start the contest what should I do ?

»
11 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

something is worng or I can't find the problems,

here is what I see :

»
11 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

Почему-то из браузера Firefox пишет Access Denied, но из Google Chrome все нормально.

»
11 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

It was wonderful, contest with interesting puzzles and problems, and new design have liked me. Thanks to codeforces team

»
11 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Beautiful design!

»
11 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

дорешка будет?

»
11 лет назад, # |
  Проголосовать: нравится +12 Проголосовать: не нравится

Отличный контест. Были очень интересные задачи. Спасибо команде Codeforces!!!

»
11 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Разбор задач будет?

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится +12 Проголосовать: не нравится

    А что нужно разобрать?

    • »
      »
      »
      11 лет назад, # ^ |
        Проголосовать: нравится +6 Проголосовать: не нравится

      ну в задаче Е1 я нечаянно заюзал буквы F, U, N xD. а так в Е2 правильные ответы: она оставила сумку, Джим не хочет чтоб родители видели сообщение и что Паула придет за сумкой. Я расшифровал сообщение и там не было сказано, что Паула придет за сумкой, там просто Джим просил прийти ее за сумкой и все! или нет?

      • »
        »
        »
        »
        11 лет назад, # ^ |
          Проголосовать: нравится +6 Проголосовать: не нравится

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

      • »
        »
        »
        »
        11 лет назад, # ^ |
          Проголосовать: нравится +3 Проголосовать: не нравится

        просто Джим просил прийти ее за сумкой — после этого уж точно понятно, что ей будет лень и ему придется принести самому:)

        А если серьезно — да, у меня тоже это место вызвало сомнения. Но как бы логично выбрать наиболее близкий вариант.

        Что мне интересно — как решать В2, а так же что на самом деле считает функция из F?

        • »
          »
          »
          »
          »
          11 лет назад, # ^ |
          Rev. 4   Проголосовать: нравится +9 Проголосовать: не нравится

          Решил все задачи

          Спрашивает, как решать B2 :D

          Посмотрим на первых двух подозреваемых. Оба правду говорить не могут, так как всего из 5 человек прав 1. Только один из них (первых двух) прав тоже быть не может, так как тогда третий тоже прав, получается опять больше одного правого.

          Значит первый и второй лгут, третий лжет, четвертый говорит правду.

          Посмотрим теперь на первых двух. Второй лжет — значит написал плохое слово второй или четвертый. Первый лжет, значит написал плохое слово НЕ второй.

          Ответ: 4.

          • »
            »
            »
            »
            »
            »
            11 лет назад, # ^ |
              Проголосовать: нравится +1 Проголосовать: не нравится

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

            Решил все задачи

            Спрашивает, как решать B2 :D

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

        • »
          »
          »
          »
          »
          11 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          В F функция считает по сути остаток при делении на 9.

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Я могу разобрать вторую подзадачу задачи B)) Уж очень она "классная" Думаю, что всем понравилось её решать... Как по мне, такой кайф, когда она зашла))

»
11 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

Thanks a lot.

Surely mixing puzzles and coding will attract more people to CodeForces, Specially teenagers. and its a good plan :-)

By the way would you make it possible to participate without the HTTPS next time ? It was unreachable for me and i used some proxy to connect.

UPD : also it was unreachable for the kingofnumbers and RedNextCentury as they said in comments

»
11 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

I think that it is good idea to create such type of contest, which would consist only of 'logic puzzles'. Also, it will be good to create diffirent rating for such contests. It would be much easier to create contest to authors. Also it would help to users to improve their mathematical skills.

»
11 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Во время контеста сбилось оставшееся время. После конца контеста было написано, что осталось 5 с чем-то минут (я попробовал отправить, и не получилось). Скорее всего это из-за отключения интернета на ноуте во время контеста.

Может это случается и на обычных контестах, не знаю.

»
11 лет назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится

Расскажите, кто как решал последнюю задачу?

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Я явно сделал дерево и прошелся по нему дфс-ом. Вот код.

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    я написал рекурсивную функцию calc(l, r), которая принимает 2 числа l и r — начальная позиция строки которую хотим развернуть и конечная, и возвращает она развернутую строчку. как работает. пока не встретили символ '(' просто добавляем символ к результату. дальше встретили откр скобку, найдем соответствующую ей закр скобку и к результату прибавим calc() от этой подстроки столько раз, какое там стоит число.

    http://pastebin.com/JPifN0zm

  • »
    »
    11 лет назад, # ^ |
    Rev. 4   Проголосовать: нравится 0 Проголосовать: не нравится

    Делаем по стандартному алгоритму.

    1) Пишем лексический анализатор. Он тупой. Цифры распарсить в цифры, строки в строки и скобки оставить.
    2) Синтаксический анализатор не нужен, потому что по условию все ок.
    3) Юзаем метод рекурсивного спуска, например. Я делал совсем по тупому: увидели скобку, ныряем в рекурсию, так же и с цифрой. Увидели закрывающуюся скобку, выныриваем. Так же выныриваем после обработки цифры. Итого O(n)

    http://pastebin.com/Q82g0ktv

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится

    Можно ещё сделать без явной рекурсии:

    Заведём стек st, который будет хранить пары (x, s), где x — последнее считанное число, а s — считываемая строка на текущем уровне. В начале добавим в стек (1, "").

    Потом идём по строке и действуем так:

    • Если текущий символ — буква, добавляем её к st.top().s.
    • Если текущий символ — (, то считываем идущее следом число y и добавляем в стек (y, "").
    • Если текущий символ — ), то достаём из стека верхнюю пару (y, s2). К st.top().s, который теперь принадлежит предыдущему уровню, добавляем s2 y раз.

    В конце выводим st.top().s. http://pastie.org/9129911

»
11 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

У z_antofik по задаче H странный результат "Partial result: 22 points out of 22".

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится

    Дело в том, что у него прошли не все тесты. Но те тесты, что не прошли — это сэмплы и стоят 0 баллов.

»
11 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Во фреймах все довольно сложно со скроллами и позиционированиями. Мы немало постарались, чтобы всякие попапы работали как надо.

»
11 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Это нормально, что в названиях пунктов в ответах присутствует \n?

{
  "test2\n": [
    "8"
  ],
  "test1\n": [
    "80"
  ],
  "internals$answersMetaData": {
    "test2\n": {},
    "test1\n": {}
  }
}
»
11 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Get AC for all the problems:) In my opinion, decoding data is the most interesting problem. Hope to see more ones like that in the other Testing Rounds. The problem J is kind of tricky, a little bit hard for coders who can' t manage strings very well( like me). All in all, I enjoyed the problems very much.( but unfortunately, I posted this comment in the wrong blog before)

»
11 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

А можно принят виртуальное участие в контексте и где можно увидеть условия задач?

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Они будут доступны через несколько часов снова. Можно будет опять дорешивать.

    • »
      »
      »
      11 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

      А когда будет проведен нормальный раунд с таким начислением балов за решение задачи?

»
11 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

wont the round be available to view (and maybe solve) the problems now?
i tried to click on the Go to the Contest → button, but it says You are not allowed to view the contest.