Задать вопрос
15 октября, 12:59

Задача 2. книжная полка.

в библиотеке на полке стоят 8 томов полного собрания сочинений одного писателя. библиотекарь обозначил их латинскими буквами от а до н в порядке выхода томов. получилась следующая последовательность: e d g h c b f a

библиотекарь решил переставить эти книги так чтобы они шли по порядку : a b c d e f g h. за одно действие библиотекарь может взять несколько подряд идущих книг, достать их с полки и, не меняя порядок следования книг, перевернуть их и поставить на место в обратном порядке. например если библиотекарь достанет книги H по F и перевернет их то новый порядок следования книг будет таким: E D G F B C G H A. помогите библиотекарю упорядочить этот ряд книг за минимальное число действий

+4
Ответы (1)
  1. 15 октября, 14:13
    0
    Учитывая, что 8 букв можно переставить примерно 40 тысячами способов, можно просто запустить поиск в ширину, сохранить для всех перестановок то, из какой строчки они получились, и потом восстановить ответ для строчки abcdefgh.

    Код на python 3:

    from queue import Queue

    to_process = Queue ()

    to_process. put (("edghcbfa", None))

    prec = {}

    while not to_process. empty () :

    s, prev = to_process. get ()

    if s in prec:

    continue

    for i in range (7) :

    for j in range (i + 1, 8) :

    if i = = 0:

    next_s = s[j::-1] + s[j+1:]

    else:

    next_s = s[:i] + s[j:i-1:-1] + s[j+1:]

    if next_s not in prec:

    to_process. put ((next_s, s))

    prec[s] = prev

    current = "abcdefgh"

    print (current)

    while prec[current] is not None:

    current = prec[current]

    print (current)

    Вывод программы:

    abcdefgh

    edcbafgh

    edcbhgfa

    edbchgfa

    edghcbfa
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Задача 2. книжная полка. в библиотеке на полке стоят 8 томов полного собрания сочинений одного писателя. библиотекарь обозначил их ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
В Библиотеке на полке стоят 8 томов в полном собрании сочинений одного писателя. Библиотекарь обозначенных латинскими буквами от А до H в порядке выхода там получилась следующая последовательность:E D G H CB F A
Ответы (1)
В библиотеке стоят 12 томов сочинений братьев Стругацких. Библиотекарь выдает читателю 5 томов сразу. Сколькими способами он может это сделать, если читателю не нужны 1, 2 и 3 тома?
Ответы (1)
Начало цикла блок-схемы - это ... а) овал б) квадрат в) шестигранник Алфавит Турбо Паскаль представлен а) латинскими буквами, дробными числами, специальными символами б) русскими буквами, дополнительными символами и знаками в) латинскими буквами,
Ответы (1)
N первых простых чисел представляются в двоичной системе счисления и записываются подряд. Из полученной последовательности нулей и единиц формируется числовая последовательность, каждый элемент которой представляет количество нулей, идущих подряд.
Ответы (1)
Дано число 7623879554768. В нем удалить восемь цифр, сдвинув оставшиеся, вместе и не меняя их порядок следования. Какое минимальное нечетное число можно получить таким образом из исходного числа?
Ответы (1)