Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

1 задание егэ на питоне

suyjdytj sthysrty Ученик (113), на голосовании 1 день назад
что то не то с кодомfrom itertools import *

s = '248 13 268 17 678 358 45 1356'.split()
v = 'AB BD DK KL LE EB AG GB GD GE'.split()
print(*range(1,9))
for p in permutations('ABDKLEGV'):
if all(str(p.index(b) + 1) in p[p.index(a)] for a, b in v):
print(*p)

выдает 1 2 3 4 5 6 7 8
но букв к цифрам не предостовляет
Голосование за лучший ответ
EbyNegraVochko Знаток (425) 1 месяц назад
Даны строки s и v. Нужно найти все перестановки символов 'ABDKLEGV', которые удовлетворяют условию: для каждой пары (a, b) из списка v, индекс символа b в перестановке плюс 1 должен быть подстрокой в строке, соответствующей символу a в списке s.

Исправленный код:
python
Copy
from itertools import permutations

s = '248 13 268 17 678 358 45 1356'.split()
v = 'AB BD DK KL LE EB AG GB GD GE'.split()

# Создаем словарь, где ключ — это символ, а значение — соответствующая строка из s
s_dict = {'A': '248', 'B': '13', 'D': '268', 'K': '17', 'L': '678', 'E': '358', 'G': '45', 'V': '1356'}

# Перебираем все перестановки
for p in permutations('ABDKLEGV'):
# Проверяем условие для всех пар из v
if all(str(p.index(b) + 1) in s_dict[a] for a, b in v:
# Выводим перестановку
print(*p)
Объяснение изменений:
Словарь s_dict:

Мы создали словарь s_dict, где каждому символу (A, B, D, и т.д.) соответствует строка из списка s. Это позволяет легко находить строку, связанную с символом a из пары (a, b).

Условие all:

В условии all мы проверяем, что для каждой пары (a, b) из списка v, значение str(p.index(b) + 1) (индекс символа b в перестановке плюс 1) содержится в строке, соответствующей символу a в словаре s_dict.

Вывод перестановки:

Если перестановка удовлетворяет всем условиям, она выводится.

Пример работы:
Для заданных данных программа найдет все перестановки символов 'ABDKLEGV', которые удовлетворяют условиям задачи, и выведет их.

Примечание:
Если список s и v могут изменяться, убедись, что они корректно соответствуют друг другу.

Код может работать долго, так как перебирает все возможные перестановки (8! = 40320 вариантов). Если нужно ускорить, можно добавить дополнительные проверки или оптимизации
Андрей Высший разум (480351) 1 месяц назад
ЗАЧЕМ здесь код?

П8 - Г (4 дороги), откуда П1, П3, П5, П6 - это А, Б, Д, Е
П1 - Е (не имеет связей с П3, П5, П6)
П6 - Б (связана с П3 и П5)
П2 - В (связана с П1 и П3), откуда П3 - А и П5 - Д

Надеюсь, остальные 2 вершины сам поставишь.

P.S. Всё решение - несколько минут.
Похожие вопросы