VASILEVNA
?>

Выберите из предложенного списка программы, относящиеся к системному программному обеспечению. текстовый редактор word антивирусная программа doctor web операционная система windows компьютерная игра doom ii графический редактор corel draw программа – архиватор winzip система программирования pascal

Информатика

Ответы

Калмыкова-Петрунина
Ос Windows
Corell Draw
Word
WinZip
Dr.Web
dshi67orbru
Учитывая, что 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

Соответственно, ответ такой:
G B
B C
H A
E A
marinamarinyuk39
Учитывая, что 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

Ответить на вопрос

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

Выберите из предложенного списка программы, относящиеся к системному программному обеспечению. текстовый редактор word антивирусная программа doctor web операционная система windows компьютерная игра doom ii графический редактор corel draw программа – архиватор winzip система программирования pascal
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Japancosmetica
iralkap
unalone5593
milenaochirova01017424
rkorneev19061
anton1969026203
Marina281
Giurievna1977
mishanay301csfp
Chervonnaya-Aleksei
zakupki
intermar2000
gnsnodir5001
Alena824
romashka17-90