• Предмет: Информатика
  • Автор: cornapolina476
  • Вопрос задан 1 год назад

деякому царстві жив Змій Горинич. У нього було N голів та M хвостів. Іван-царевич вирішив знищити губителя людських душ, для чого йому його кума Баба Яга подарувала чарівний меч, оскільки тільки ним можна вбити Змія Горинича. Якщо відрубати одну голову, то на її місці виростає нова, якщо відрубати хвіст, то замість нього виросте 2 хвости. Якщо відрубати два хвости, то виросте 1 голова, і тільки коли зрубати 2 голови, то не виростає нічого. Змій Горинич гине тільки в тому випадку, коли йому відрубати всі голови і всі хвости. Визначити мінімальну кількість ударів мечем, потрібну для знищення Змія Допоможіть будь-ласка.Даю 30 балів.До 13 квітня.

Ответы

Ответ дал: perfdipidup1972
0

Ответ:

from collections import deque

# Вхідні дані: кількість голів та хвостів Змія Горинича

n, m = map(int, input().split())

# Створення вершини графа, що відповідає початковому стану

start_node = (n, m)

# Створення черги та додавання початкової вершини

queue = deque([start_node])

# Створення множини відвіданих вершин

visited = set([start_node])

# Ініціалізація змінної, що зберігатиме кількість ударів мечем

num_hits = 0

# Поки черга не пуста

while queue:

   # Збільшення лічильника ударів мечем

   num_hits += 1

   

   # Кількість вершин на поточному рівні глибини

   level_size = len(queue)

   

   # Обробка всіх вершин на поточному рівні глибини

   for i in range(level_size):

       # Отримання вершини з початку черги

       node = queue.popleft()

       

       # Перебір всіх можливих дій

       for action in

Объяснение:

Вас заинтересует