 
Вот пж поскорее помогите на питонеееееееееееее отдаю 35 баллов Секретный замок для сейфа состоит
из 10 расположенных в ряд ячеек, в которые надо вставить игральные кубики. Но дверца сейфа открывается только в том случае, когда в любых трёх соседних ячейках сумма точек на передних гранях кубиков равна 10. Игральный кубик имеет на каждой грани от 1 до 6 точек. Напишите программу определения кода замка сейфа, если 2 любых кубика уже вставлены в две произвольные, но СТОЯЩИЕ РЯДОМ ячейки. Выведите 2 массива: исходный - с двумя заданными ячейками, и массив, определяющий код замка. !!! Никаких методов Питона для работы с массивами, кроме append и len, !!! использовать нельзя. 0
        0
         0
        0
    Ответы на вопрос
 
        a = [0] * 11
fl = False
a[1] = int(input("Первый кубик: "))
a[2] = int(input("Второй кубик: "))
for i in range(3,11):
if (10-a[i-1]-a[i-2]>6) or (10-a[i-1]-a[i-2]<1):
fl = True
else:
a[i] = 10-a[i-1]-a[i-2]
if fl == True:
print("Решений нет")
else:
for i in range(1,11):
print(a[i],end=" ")
 0
                    0
                     0
                    0
                 
            Для решения этой задачи, где нужно определить код замка сейфа, при условии, что 2 кубика уже вставлены в две произвольные, но стоящие рядом ячейки, можно воспользоваться перебором всех возможных комбинаций для оставшихся 8 ячеек. Мы будем искать такие комбинации, в которых сумма точек на передних гранях кубиков в трех соседних ячейках равна 10.
Вот код на Python, который решает эту задачу:
python# Функция для определения кода замка сейфа
def find_lock_code(initial_lock, fixed_cells):
    # Исходный замок с уже вставленными кубиками
    lock = initial_lock.copy()
    # Функция для проверки, можно ли вставить кубик в данную ячейку
    def can_insert_cube(index, cube):
        if lock[index] != 0:  # Ячейка уже занята
            return False
        if index > 0 and lock[index - 1] != 0:  # Левая соседняя ячейка занята
            return False
        if index < len(lock) - 1 and lock[index + 1] != 0:  # Правая соседняя ячейка занята
            return False
        return True
    # Функция для проверки, что код замка корректный
    def is_valid_lock(lock):
        for i in range(2, len(lock)):
            if lock[i - 2] + lock[i - 1] + lock[i] != 10:
                return False
        return True
    # Вставляем кубики в оставшиеся пустые ячейки
    def insert_cubes(lock, fixed_cells, index=0):
        if index == len(lock):
            if is_valid_lock(lock):
                return lock
            return None
        if index in fixed_cells:
            return insert_cubes(lock, fixed_cells, index + 1)
        for cube in range(1, 7):
            if can_insert_cube(index, cube):
                lock[index] = cube
                result = insert_cubes(lock, fixed_cells, index + 1)
                if result:
                    return result
                lock[index] = 0
        return None
    # Начинаем поиск с вставки в первую свободную ячейку
    result = insert_cubes(lock, fixed_cells)
    return result
# Исходный замок с уже вставленными кубиками
initial_lock = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
# Ячейки, в которых уже вставлены кубики (например, 3 и 4)
fixed_cells = [3, 4]
# Поиск кода замка сейфа
lock_code = find_lock_code(initial_lock, fixed_cells)
# Вывод результатов
print("Исходный замок с уже вставленными кубиками:", initial_lock)
print("Код замка сейфа:", lock_code)
Вы можете изменить значения fixed_cells для указания двух ячеек, в которых уже вставлены кубики. Код найдет код замка с учетом этих двух ячеек и выведет результат.
 0
                    0
                     0
                    0
                Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
- 
			Математика 
- 
			Литература 
- 
			Алгебра 
- 
			Русский язык 
- 
			Геометрия 
- 
			Английский язык 
- 
			Химия 
- 
			Физика 
- 
			Биология 
- 
			Другие предметы 
- 
			История 
- 
			Обществознание 
- 
			Окружающий мир 
- 
			География 
- 
			Українська мова 
- 
			Информатика 
- 
			Українська література 
- 
			Қазақ тiлi 
- 
			Экономика 
- 
			Музыка 
- 
			Право 
- 
			Беларуская мова 
- 
			Французский язык 
- 
			Немецкий язык 
- 
			МХК 
- 
			ОБЖ 
- 
			Психология 
- 
			Физкультура и спорт 
- 
			Астрономия 
- 
			Кыргыз тили 
- 
			Оʻzbek tili 
 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			