Можете ли Вы решить Рождественскую головоломку GCHQ?


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

В этом году британское коммуникационное агентство GCHQ отправило «традиционную» рождественскую открытку от директора, которая включает в себя не столь традиционную головоломку. Если вы можете решить головоломку, это приведет к другим головоломкам:

«После того, как все этапы будут разблокированы и успешно завершены, игрокам предлагается отправить свой ответ по указанному адресу электронной почты GCHQ до 31 января 2016 года. Затем победитель будет выбран из всех успешных заявок и вскоре уведомлен об этом.»

Открытка, в которой также запрашиваются пожертвования в британскую детскую благотворительную организацию NSPCC, рассылается только людям из списка рождественских открыток директора, но остальные из нас могут получить доступ к головоломке на веб-сайте. 

Эта проблема интересна тем, что она принимает форму обратной, или томографической, реконструкции. Такие головоломки достаточно хорошо известны, и Википедия предполагает, что они называются Нонограммами, Ханджи, Пикросами или сковородками. 

Основная идея заключается в том, что у вас есть 2D-сетка, а вдоль строк и столбцов расположены списки чисел, которые показывают, сколько пробегов каждой длины есть в строке и столбце. Например, строка с 2, 4, 5 рядом с ней будет иметь три прогона, состоящих из прогона 2, прогона 4 и прогона 5 черных ячеек. Очевидно, что одна строка или столбец не указывает, где находятся запуски, но если вам будет предоставлена информация для всех строк и столбцов, вы увидите, что может существовать уникальное решение, удовлетворяющее всем ограничениям. Если уникального решения не существует, вы можете исправить то, что хотите, предоставив некоторые начальные значения. 

Обратите внимание, что это похоже на обратную задачу, возникающую в томографии, где вы можете измерить поглощение луча, обычно рентгеновского, в различных положениях и должны разработать 2D-расположение поглотителей, которые могли бы создать картину. 

Проблему GCHQ можно увидеть ниже:

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

Когда вы все сделаете правильно, изображение представляет собой QR-код, который приведет вас ко второй части, представляющей собой последовательность вопросов с множественным выбором.

Так что начните кодировать и посмотрите, что вы можете придумать. 


Добавить комментарий