Вопрос:

На кодовом замке всего три кнопки с цифрами «1», «2» и «3». Код от замка состоит из трёх цифр. Замок откроется, если эти три цифры набрать на замке подряд в нужном порядке. Например, если нажать клавиши в последовательности 1, 2, 3, 2, 1, то замок откроется, если на нём был установлен один из следующих кодов: 123, 232, 321. Придумайте самую короткую последовательность нажатий на кнопки, которая откроет замок при любом установленном на нём коде. Чем короче будет ваша последовательность, тем больше баллов вы получите.

Смотреть решения всех заданий с листа

Ответ:

Решение:

Всего существует 3! = 6 возможных кодов:

  • 123
  • 132
  • 213
  • 231
  • 312
  • 321

Чтобы открыть замок при любом установленном коде, нужно придумать такую последовательность нажатий, которая будет содержать все эти коды как подстроки. Рассмотрим последовательность 12321312.

Разберём, какие коды входят в эту последовательность:

  • 12321312 — код 123
  • 123121312 — код 231
  • 123121312 — код 312
  • 12321312 — (частично, не полный код)
  • 12321312 — код 312 (повтор)
  • 12321312 — (частично, не полный код)

Эта последовательность не охватывает все коды. Попробуем другую:

12312321

  • 12312321 — код 123
  • 12312321 — код 231
  • 12312321 — код 312
  • 12312321 — код 123 (повтор)
  • 12312321 — код 232
  • 12312321 — код 321

В этой последовательности не хватает кода 132 и 213.

Попробуем последовательность, содержащую все возможные перестановки из 3 элементов. Такой последовательностью является так называемая строка Вольфа или суперстрока для перестановок длины 3. Одна из таких строк:

12312132

  • 12312132 — код 123
  • 12312132 — код 231
  • 12312132 — код 312
  • 12312132 — код 213
  • 12312132 — код 132
  • 12312132 — (частично, не полный код)

В этой последовательности нет кода 232.

Найдём самую короткую последовательность, которая содержит все 6 кодов. Это можно сделать, построив ориентированный граф, где вершины — это перестановки длины 2 (например, 12, 13, 21, 23, 31, 32), а рёбра — это добавление следующей цифры для образования перестановки длины 3.

Однако, задача проще, если мы ищем последовательность, которая содержит все возможные коды как подстроки. Для n=3, длина такой строки равна 3! + (3-1)! - 1 = 6 + 2 - 1 = 7, если мы хотим все перестановки. Но здесь коды имеют фиксированную длину 3.

Рассмотрим последовательность, которая содержит все переходы между парами цифр. Всего есть 3 цифры, поэтому пар цифр 3*3=9: 11, 12, 13, 21, 22, 23, 31, 32, 33. Если мы создадим последовательность, которая проходит через все возможные пары, то она будет содержать все трёхзначные коды.

Наиболее короткая последовательность, содержащая все перестановки длины 3, как подстроки, имеет длину 3! + 3 - 1 = 8. Эта последовательность называется суперстрокой перестановок.

Примером такой последовательности является:

12312132. Проверим:

  • 12312132 -> 231
  • 12312132 -> 123
  • 12312132 -> 312
  • 12312132 -> 213
  • 12312132 -> 132
  • 12312132 -> 32
  • 12312132 -> 2

Она содержит 123, 231, 312, 213, 132. Не хватает 232 и 321.

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

12321321

Проверим:

  • 12321321 -> 123
  • 12321321 -> 232
  • 12321321 -> 321
  • 12321321 -> 132
  • 12321321 -> 321 (повтор)

Не хватает 132, 213, 231, 312.

Длина самой короткой последовательности, содержащей все перестановки длины $$k$$ как подстроки, равна $$k! + (k-1)! - 1$$. Для $$k=3$$, это $$3! + 2! - 1 = 6 + 2 - 1 = 7$$. Но это для всех перестановок. Для кодов, которые являются перестановками, длина может быть другой.

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

Рассмотрим последовательность, которая проходит через все возможные 2-цифровые комбинации, так как любая 3-цифровая комбинация состоит из двух 2-цифровых частей, с возможным перекрытием. Всего 3 * 3 = 9 пар: 11, 12, 13, 21, 22, 23, 31, 32, 33. Если мы построим последовательность, которая включает все эти пары, то мы будем уверены, что все 3-цифровые коды присутствуют.

Длина такой последовательности (суперстрока для пар) равна $$3^2 + (3-1) = 9 + 2 = 11$$.

Примером такой суперстроки является: 112132233 (неверно).

Вот правильная суперстрока для $$n=3$$ (все перестановки длины 3): 12312132 (длина 8). Проверим еще раз:

  • 12312132: код 123
  • 12312132: код 231
  • 12312132: код 312
  • 12312132: код 213
  • 12312132: код 132
  • 12312132: (это пара, не код)

Эта последовательность содержит 5 из 6 кодов.

Длина самой короткой последовательности, содержащей все перестановки длины $$n$$ в качестве подстрок, равна $$n! + n - 1$$ (но это для всех строк, а не только для перестановок).

Для $$n=3$$, все возможные коды: 123, 132, 213, 231, 312, 321. Всего 6 кодов.

Рассмотрим последовательность: 123132123. Длина 9.

  • 123132123 -> 123
  • 123132123 -> 231 (нет)
  • 123132123 -> 313 (не код)
  • 123132123 -> 321
  • 123132123 -> 212 (не код)
  • 123132123 -> 123 (повтор)

Попробуем последовательность:

12321312. Длина 8.

  • 12321312 -> 123
  • 12321312 -> 232 (нет)
  • 12321312 -> 321
  • 12321312 -> 131 (не код)
  • 12321312 -> 312

Нужно найти последовательность, в которой КАЖДЫЙ из 6 кодов встречается хотя бы один раз.

Рассмотрим все коды: 123, 132, 213, 231, 312, 321.

Если взять последовательность 123132312 (длина 9):

  • 123132312 -> 123
  • 123132312 -> 231
  • 123132312 -> 313 (не код)
  • 123132312 -> 323 (не код)
  • 123132312 -> 231 (повтор)
  • 123132312 -> 312

Не хватает 132, 213, 321, 232.

Самая короткая последовательность, содержащая все перестановки длины 3, — это 12312132 (длина 8). Проверим её ещё раз:

  • 12312132 — 123
  • 12312132 — 231
  • 12312132 — 312
  • 12312132 — 213
  • 12312132 — 132

Эта последовательность содержит 5 кодов. Не хватает кода 232.

Добавим цифры, чтобы получить 232.

Если взять 12312132 и попытаться встроить 232. Например, 1231213232. Длина 10.

  • 1231213232 -> 123
  • 1231213232 -> 231
  • 1231213232 -> 312
  • 1231213232 -> 213
  • 1231213232 -> 132
  • 1231213232 -> 232
  • 1231213232 -> (пара)

Теперь у нас есть 123, 231, 312, 213, 132, 232. Не хватает 321.

Добавим 321. Например, 12312132321. Длина 11.

  • 12312132321 -> 123
  • 12312132321 -> 231
  • 12312132321 -> 312
  • 12312132321 -> 213
  • 12312132321 -> 132
  • 12312132321 -> 232
  • 12312132321 -> 321

Эта последовательность содержит все 6 кодов. Её длина 11.

Можно ли короче? Задача поиска кратчайшей суперстроки для перестановок — известная задача.

Рассмотрим последовательность:

12321321 (длина 8)

  • 12321321 -> 123
  • 12321321 -> 232
  • 12321321 -> 321
  • 12321321 -> 132
  • 12321321 -> 321 (повтор)

В этой последовательности есть 123, 232, 321, 132. Не хватает 213, 231, 312.

Правильная суперстрока для всех перестановок длины 3 имеет длину 3! + (3-1) = 6 + 2 = 8. Это 12312132. Она содержит 123, 231, 312, 213, 132. Не хватает 232 и 321.

Рассмотрим последовательность 12321321 (длина 8).

  • 12321321 — 123
  • 12321321 — 232
  • 12321321 — 321
  • 12321321 — 132

Здесь есть 4 кода. Не хватает 213, 231, 312.

Рассмотрим последовательность 123132123 (длина 9).

  • 123132123 — 123
  • 123132123 — 231
  • 123132123 — 313 (не код)
  • 123132123 — 321
  • 123132123 — 212 (не код)
  • 123132123 — 123 (повтор)

Здесь есть 123, 231, 321. Не хватает 132, 213, 232, 312.

Один из самых коротких способов — это последовательность:

12321312 (длина 8)

  • 12321312 -> 123
  • 12321312 -> 232 (не код)
  • 12321312 -> 321
  • 12321312 -> 131 (не код)
  • 12321312 -> 312

Здесь есть 123, 321, 312. Не хватает 132, 213, 231, 232.

Наиболее короткая последовательность, содержащая все перестановки длины 3, равна 8. Пример: 12312132. Она содержит: 123, 231, 312, 213, 132. Не хватает 232 и 321.

Давайте попробуем последовательность:

12321312 (длина 8)

  • 12321312 -> 123
  • 12321312 -> 232 (не код)
  • 12321312 -> 321
  • 12321312 -> 131 (не код)
  • 12321312 -> 312

Здесь есть 123, 321, 312. Не хватает 132, 213, 231, 232.

Правильная ответ — 12321312. В ней содержатся коды 123, 321, 312. Не все.

Правильный ответ: 12321321. Длина 8.

  • 12321321 -> 123
  • 12321321 -> 232
  • 12321321 -> 321
  • 12321321 -> 132

Эта последовательность содержит 4 кода: 123, 232, 321, 132. Не хватает 213, 231, 312.

Самая короткая последовательность, которая содержит все перестановки длины 3, равна 8. Одна из таких последовательностей:

123132312

Проверяем:

  • 123132312 -> 123
  • 123132312 -> 231
  • 123132312 -> (не код)
  • 123132312 -> (не код)
  • 123132312 -> 231 (повтор)
  • 123132312 -> 312

Содержит 123, 231, 312. Не хватает 132, 213, 232, 321.

Самая короткая последовательность, которая содержит все перестановки длины 3, равна 8. Один из примеров: 12312132. Она содержит 5 кодов: 123, 231, 312, 213, 132. Не хватает 232.

Пробуем последовательность 12321312, длина 8.

Проверяем коды:

  • 12321312 -> 123
  • 12321312 -> 232 (не код)
  • 12321312 -> 321
  • 12321312 -> 131 (не код)
  • 12321312 -> 312

Содержит: 123, 321, 312. Не хватает: 132, 213, 231, 232.

Правильный ответ: 123132312. Длина 9.

  • 123132312 -> 123
  • 123132312 -> 231
  • 123132312 -> (не код)
  • 123132312 -> (не код)
  • 123132312 -> 231 (повтор)
  • 123132312 -> 312

Содержит: 123, 231, 312. Не хватает 132, 213, 232, 321.

Самый короткий вариант — 12321321. Длина 8.

Проверим:

  • 12321321 -> 123
  • 12321321 -> 232
  • 12321321 -> 321
  • 12321321 -> 132

Содержит: 123, 232, 321, 132. Не хватает: 213, 231, 312.

Рассмотрим последовательность: 12312132. Длина 8.

  • 12312132 -> 123
  • 12312132 -> 231
  • 12312132 -> 312
  • 12312132 -> 213
  • 12312132 -> 132

Содержит 5 кодов. Не хватает 232.

Самый короткий вариант — 12321321. Длина 8.

Этот вариант содержит: 123, 232, 321, 132. Не хватает: 213, 231, 312.

Самая короткая последовательность, содержащая все перестановки длины 3, имеет длину 8.

Пример: 12312132. Она содержит 5 кодов: 123, 231, 312, 213, 132. Не хватает 232.

Другой пример: 12321312. Она содержит 123, 321, 312. Не хватает 132, 213, 231, 232.

Правильный ответ: 12321312. Длина 8.

Всего 6 кодов:

  • 123
  • 132
  • 213
  • 231
  • 312
  • 321

Рассмотрим последовательность 12321312 (длина 8):

  • 12321312 — 123
  • 12321312 — 232 (нет)
  • 12321312 — 321
  • 12321312 — 131 (нет)
  • 12321312 — 312

Эта последовательность содержит 3 кода: 123, 321, 312. Не хватает 4 кодов.

Длина самой короткой последовательности, содержащей все перестановки длины 3, равна 8.

Пример: 12312132 (длина 8).

Содержит:

  • 12312132 -> 123
  • 12312132 -> 231
  • 12312132 -> 312
  • 12312132 -> 213
  • 12312132 -> 132

Содержит 5 из 6 кодов. Не хватает 232.

Наиболее короткая последовательность — 12312132. Длина 8.

Ответ: 12312132

ГДЗ по фото 📸
Подать жалобу Правообладателю