Иногда встречаются задачки, которые я решил назвать «Интеры». Почему Интеры? Потому что они:
А так вообще-то это самые, что ни на есть, настоящие веболомки :)
Интересная и довольно простая задачка от Яндекса. Простая для тех, кто знаком с регулярными выражениями. На самом деле не каждый даже опытный и великовозрастный программист встречался, а тем более разобрался и активно применяет в повседневной жизни регулярки. Поэтому задача может показаться лёгкой для школяра, который только-только прослушал урок о регэкспах и совсем не по зубам гуру-программисту (хотя не, настоящий гуру просто обязан знать регулярки).
Головоломка составлена таким образом, что сверху/снизу/справа/слева регулярками заданы условия выбора подходящих символов. Пересечение этих условий оставляет один единственный символ, который и надо вписать в ячейке.
Самое правое условие говорит нам, что всего должно быть 14 символов, и они должны быть из диапазона заглавных латинских букв от A до Y, либо строчных от a до v, цифр от 0 до 4 или символом подчёркивания. Ячеек всего 14, значит как раз по одному символу в ячейке.
1) Условие слева говорит, что это один из символов m, или a, или i, или n. Условие снизу \w – что это любая цифра, буква или знак подчёркивания, а условие сверху – что это символ из диапазона от a до g. Символы m, i и n находятся вне диапазона a-g, значит нам подходит только символ «a».
2) Согласно левому условию это символ j, а согласно верхнему - он один единственный и есть.
Далее левое условие говорит, что идут какие-то 8 символов. Они определяются только верхними и нижними условиями.
3) Наборы [LINE] и [CLASS] дают в пересечении символ «L».
4) Наборы [main] и [break] дают в пересечении символ «a».
5) [^\w]{0} - это пустое множество, значит остаётся только символ «_».
6) Один из символов (Q или N) и при этом (A или B или Q) дадут на пересечении «Q», остальное отпадает.
7) [YOU] и [YANDEX] дают «Y».
8) [O-S] и [QUICK] дают снова «Q».
9) [data] и [index] дают «d».
10) \d говорит нам, что должна быть цифра, {0} – что предыдущий набор нужно полностью исключить, но вот в самом исключённом наборе мы видим «подсказку» 2+2; получаем «4».
11-14) 8 символов прошли. Нам осталось вычислить 4 символа. Условия слева предлагают нам всего два четырёхсимвольных варианта - либо CR+vA, либо L+KLm. Верхнее условие на 11 ячейке символ «L» не допускает, а значит выбираем CRvA. На всякий случай можно проверить, удовлетворяются ли остальные условия. Удовлетворяются. В любом случае других вариантов нет :) Всё, задачка решена. Переходим на получившийся урл и видим картинку (фразу я спрятал на всякий случай, и урл не пишу, ну хоть что-то сделайте сами, если хотите 1 балл заработать
):
Похожий подход в поиске урла применили hr-щики гугла. Здесь тоже нужно было отгадать (рассчитать) нужное число, чтобы попасть на сайт с предложением о работе.
О том, как решать эту задачу, я всё же сделал отдельную страничку: Как я проходил квест от Гугла.