Санкт-Петербургские Олимпиады по Информатике

Задачи международной олимпиады 1989 года

Задача AB-шки

Дана последовательность из 2N ячеек. Две соседние из них - пустые, а остальные содержат N-1 символов A и N-1 символов B.

Пример для N = 5:

A   B   B   A           A   B   A   B 

Правила перемещения:

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

Цель:

Используя правило перемещения, достичь конфигурации, в которой все символы A расположены левее всех символов B. Местоположение пустых ячеек после перемещений не имеет значения.

Задание:

Написать программу, которая:

  1. Вводит с клавиатуры начальную конфигурацию в виде последовательности символов A, B и нулей для пустых ячеек, а также моделирует перемещения.
  2. Для заданной начальной конфигурации определяет по крайней мере один план перемещений, с помощью которого можно достичь цели, или сообщает, что такого плана не существует. Вывод должен содержать начальную конфигурацию, промежуточные конфигурации после каждого шага, а также заключительную конфигурацию.
  3. Находит план достижения цели за минимальное число шагов.

Результаты:

Представить по крайней мере хотя бы одно решение для примера, приведенного выше.

Используются технологии uCoz