7 февраля 2013 в 11:34

Кроссворд из регулярных выражений

Кроссворд, подсказки в котором — регулярные выражения.

Оригинал в PDF.

Автор — не я! Это часть MIT Mistery Hunt 2013.
Алексей Романов @alexeyrom
карма
128,0
рейтинг 0,0
Похожие публикации
Самое читаемое Разработка

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

  • +12
    Подписи не очень удачно написаны, надо крутить кроссворд. Больше подходит для распечатанного вида.
    • +5
      такое надо в онлайне хорошо делать, чтобы регулярки подсвечивались красным и зелёным при заполнении, а при редактировании какой-то ячейки ненужные регэкспы высветлялись.
    • +1
      Подписи ориентированы таким образом, чтобы было понятно направление текста.
  • +3
    А он не так-то прост… Спасибо, распечатал всей команде))
  • +23
    Работа встала.
    • +1
      Решил. Спасибо за задачку. Очень понравилась. Продолжаем работать.
      • 0
        нет — я конечно, понимаю, что я не спец в регэкспах, но что может значить .* из 11 букв?
        Первое что приходит на ум: 11111111111
        Как тогда решать-то?
        Или R*D*M* из 8 букв — это и RRRRRRRR и DDDDDDDD
        Подскажите, что вообще с этим делать?
        • +2
          Начинать с других подсказок, которые дают больше информации :)
          • +1
            Верно. Посоветовал бы начать с тех регулярок, где жестко определены первая и/или последняя буква (символ). Например, N.*X.X.X.*E тут ясно видно, что первая буква будет N, а последняя Е.
            • 0
              да — спасибо.
              Нужно еще и английский знать, чуть лучше — ну что ж будем развлекаться со словарем.
              • 0
                Для решения кроссворда не нужно иметь огромный словарный запас. Все «слова» в кроссворде — ни что иное, как сочетания букв латинского алфавита, например, «RCCHHHRRCC» (в этом духе).
                • 0
                  от блин — я думал значимые слова…
      • +2
        2 часа 32 минуты. Я апплодирую.
        • 0
          Час и 48 минут =P
  • +5
    Такие вещи нужно выдавать студентам, в качестве допуска к зачету.
    • +1
      Или на собеседование ;)
      • 0
        На собеседование — долго ) нужно тогда его сократить раза в три.
    • 0
      Не прокатит ) разве что придумать уникальные для каждого — а это задачка уже посложнее самого решения, IMHO ))
  • +19
    Регулярки и так вещь способная привести к моральным травмам, так вы ещё и пытаетесь уговорить подопытного добровольно себя истязать.
    Вы предрабочую практику случайно не в Аушвице проходили?
    • +1
      В данном примере все регвыры достаточно просты. Более того, у меня процесс решения не потребовал сколь-нибудь значительного перебора. То есть задача составлена нетривиально — если каких попало регвыров понаписать, то процесс решения может быть очень занудным из-за глубокого перебора.
  • +20
    .*(. )(. )(. )(. ) \ 4 \ 3 \ 2 \ 1.*

    Что бы это значило…
    Семенович не подходит…
    • +4
      четырехгрудая красавица?
    • +6
      И трёхгрудая инопланетянка из «Вспомнить всё» тоже не сматчилась! Я в растерянности.
      • +5
        Одна трехгрудая и одна одногрудая, видимо.
        • +18
          А две нормальных вы не рассматриваете, да?
          • +1
            Судя по размерам, там вообще 4 одногрудых.
            • 0
              4 амазонки — тоже вариант.
            • +4
              Свиноматка на боку?
    • +5
      abcddcba
    • 0
      Попробуй «две Семенович»
      • +8
        С удовольствием бы попробовал двух Семенович )
    • 0
      Это CMEHHEMC. Ваш капитан.
    • 0
      Лучшее, что удалось найти — "горедиссидент" (без чёрточки). Подходят ещё некоторые косвенные падежи от слова «бареттер», но я его в первый раз вижу. Со словами «миллиметр» и «миллимикрон» ничего хорошего сделать не удалось. Миллимиллимикрон, ха-ха…
    • 0
      Кстати, в русском языке когда прочитаешь эту комбинацию, невольно усмехнешься )
  • +1
    Потратил час рабочего времени, но мозг размял)
  • +9
    Решил… Но у меня после этого кроссворда глаза теперь шестиугольные.
  • +2
    Автор, дайте, пожалуйста, решение кроссворда, чтобы проверить свое решнеие. Лучше, конечно, не сейчас, а через какое-нибудь время, чтобы не было соблазна сразу в ответ залезть.
    • 0
      Ответы там есть по ссылке.
      • 0
        Ссылку я только что добавил.
    • 0
      Честно говоря, даже не подумал, что выглядит так, будто я автор. На чужие лавры претендовать не хотел :(
  • 0
    А там же нет пробелов, да?
    • 0
      Только латинские буквы.
  • 0
    Хорошая задачка. Спасибо!
  • +1
    Я еще вчера решил. Кстати, интересно, как составлялся этот кроссворд, вручную или с помощью программы? Там в процессе решения в каждый момент времени довольно мало букв можно однозначно определить.
    • 0
      А как составляют японские кроссворды? Там тоже регулярные выражения :)
    • +2
      У вас ошибка в решении. В нижней строке четвёртый регексп .*DD.*CCM.*, к вашему решению он не подходит.
      • –1
        Lany, вы ошиблись, все подходит. Товарищ Aivean все правильно решил.
        • +1
          Там в одной клетке ошибка (или опечатка). M вместо C.
          • 0
            Да, действительно, есть ошибка. У меня видимо уже «глаз замылился».
      • +1
        А вы наблюдательны. Похоже, я прочитал CMM вместе CCM.
        • +1
          Я просто со своим решением сравнил посимвольно :-)
  • 0
    Народ, есть только одно верное решение кроссворда?
    А то в нижней левой клетке может быть совершенно любая буква и кроссворд имеет множество решений.
    Однако, если предположить, что решение может быть только одно, то там должна быть буква G.
    • +2
      Кроссворд можно решить, не пользуясь предположением, что решение одно. И при этом почти без перебора.
      • 0
        Так значит оно одно. Спасибо. :-)
        • 0
          Не значит :) Не исключено, что останется клетка, в которую можно подставить что угодно. Или цикл, имеющий два решения. Но если хотите — предполагайте, риск ошибиться от этого только возрастёт :)
          • 0
            Не исключено, что останется клетка, в которую можно подставить что угодно.

            Воспользовался вашим советом. Такой клетки не осталось. :-)
    • +1
      Вы неправы. Если туда не писать G, то под шаблон .*G.*V.*H.* придётся подставить xRNRGVH (где x — ваша совершенно любая буква; RNR определяются однозначно). Тогда в ряду (...?)\1* выйдет VREVREVREVRE, а последней V не может быть по двум причинам: не сойдётся ни .*OXR.*, ни [CEIMU]*OH[AEMOR]*.
  • +1
    Это скорее не кроссворд, а судоку)
    • 0
      Пару раз я использовал приёмы из японских кроссвордов.
  • –33
    image
    • +2
      Я не уверен, что всем хочется это видеть. Хотя комментарий достаточно далеко внизу, всё-таки лучше заменить на ссылку.
    • +5
      Обожаю людей пишуших имя убийцы на первой странице детектива. Они считают, что экономят моё время)
    • +6
      Добавил ещё минусик исключительно с целью ухудшить читаемость комментария. Помню, когда-то заминусованные комментарии сворачивались, так можно было бы легко спрятать комментарий под спойлер :-)
    • 0
      Нет, ну кто так делает? Спасибо тем, кто заминусовал, что его теперь почти не видно, я почти ничего не заметил :)
  • +1
    Где скачать шестиугольный Excel? :)
    • +2
      Написать самому
  • 0
    Друзья, а киньте ссылки еще на подобные кроссворды. Очень понравилось!
  • 0
    По исходной ссылке PDF уже не качается. Новый адрес такой.

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