Есть ответ 👍

D1. фанатам стратегий 3 (5 )

данная – логическое продолжение "фанатам стратегий 2". рекомендуем перед решением данной полностью решить "фанатам стратегий 2"

к добавлено примечание!



вскоре стало понятно, что всё совсем не просто. нельзя взять и построить здание. их в этой игре ещё и открыть нужно.

новое здание типа a можно построить, только если на нашей базе функционирует хотя бы по одному новому зданию из списка необходимых зданий здания типа a.

сколько на самом деле нам придётся построить зданий (не считая электростанций)? какие они? в каком порядке их строить? ваша – найти ответы на эти вопросы.

примечание

гарантируется, что существует такая последовательность постройки зданий, что здания всех типов можно построить.

формат входных данных

в первой строке записаны три целых числа n, m и (1≤≤≤1000; =1)) – количество различных типов новых зданий в игре, количество новых зданий, которые нужно построить, и номер формата выходных данных.

в следующей строке записаны m названий типов зданий, разделённых пробелами – требуемые для обеспечения устойчивой обороны здания. гарантируется, что строка не содержит одинаковых типов зданий.

далее идёт n блоков по 22 строки следующего вида:

в первой строке – название типа здания.

во второй – длина списка необходимых зданий для здания данного типа и сам список необходимых зданий. гарантируется, что список не содержит одинаковых типов зданий.

сумма длин списков необходимых зданий не превышает 5⋅10^4.

название каждого типа здания – это число от 11 до 10^5.

формат выходных данных

если =1t=1, то выведите одно число – минимальное количество зданий, которые нужно построить.

если =2t=2, то в первой строке выведите одно число – минимальное количество зданий, которое необходимо построить, а во второй – k названий зданий, которые нужно построить, в том порядке, в котором их нужно строить. если существует несколько подходящих последовательностей – выведите любую из них.

sample input:
3 1 1
1
2
0
1
2 2 3
3
0
sample output:
3

168
446
Посмотреть ответы 2

Ответы на вопрос:


n, m, t = map(int,

 

x = list(map(int,

 

 

def build(name):

    if name in built:

        pass

    elif b[a.index(name)] == ["0"]:

        built.append(name)

    else:

        for i in b[a.index(: ]:

            if i not in built:

                build(i)

        built.append(name)

 

 

a = []

b = []

built = []

 

for i in range(0, n):

    a.append(

    b.append(

 

for i in range(0, b.:

    built.append(a[b.

    a.pop(b.

    b.pop(b.

 

 

[build(str(o)) for o in x]

 

print(len(built))


ls-63 немного ошиблась в расчетах : )  дано:   апельсин=груша+слива  груша=яблоко+слива  2апельсина=2груши+2сливы  2апельсина=(2яблока+2сливы)+2сливы  3яблока=2яблока+4сливы  яблоко=4сливы  1груша=4сливы+слива  1груша=5слив

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS