D2. фанатам стратегий 3 (7 )
данный шаг отличается от предыдущего формулировкой ограничений на входные данные. перед проверкой решения с формулировкой ограничений из этого шага, убедитесь, что это решение проходит и на предыдущем шаге.
к добавлено примечание!
вскоре стало понятно, что всё совсем не просто. нельзя взять и построить здание. их в этой игре ещё и открыть нужно.
новое здание типа можно построить, только если на нашей базе функционирует хотя бы по одному новому зданию из списка необходимых зданий здания типа .
сколько на самом деле нам придётся построить зданий (не считая электростанций)? какие они? в каком порядке их строить? ваша – найти ответы на эти вопросы.
примечание
гарантируется, что существует такая последовательность постройки зданий, что здания всех типов можно построить.
формат входных данных
в первой строке записаны три целых числа n, m и t (1≤≤≤5⋅104; =1) – количество различных типов новых зданий в игре, количество новых зданий, которые нужно построить, и номер формата выходных данных.
в следующей строке записаны m названий типов зданий, разделённых пробелами – требуемые для обеспечения устойчивой обороны здания. гарантируется, что строка не содержит одинаковых типов зданий.
далее идёт блоков по 22 строки следующего вида:
в первой строке – название типа здания.
во второй – длина списка необходимых зданий для здания данного типа и сам список необходимых зданий. гарантируется, что список не содержит одинаковых типов зданий.
сумма длин списков необходимых зданий не превышает 5⋅10^4.
название каждого типа здания – это число от 11 до 10^5.
формат выходных данных
если =1, то выведите одно число – минимальное количество зданий, которые нужно построить.
если =2, то в первой строке выведите одно число – минимальное количество зданий, которое необходимо построить, а во второй – k названий зданий, которые нужно построить, в том порядке, в котором их нужно строить. если существует несколько подходящих последовательностей – выведите любую из них.
sample input:
3 1 1
1
2
0
1
2 2 3
3
0
sample output:
3
110
349
Ответы на вопрос:
ответ:
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))
объяснение:
*
Var i: integer; s: string; begin write('введите слово из 4 букв: '); readln(s); writeln(s[3],s[4],s[1]) end.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
artemtik200530.09.2022 15:31
-
Девочка112408.07.2020 03:04
-
nasty151220022905.02.2022 16:39
-
08122005vlad18.02.2023 23:12
-
bmorextreme02.04.2022 14:23
-
unitolog20.05.2021 08:39
-
razumovnikita5125.10.2020 15:44
-
esavinova6614.07.2022 07:05
-
KennyPro20.07.2021 01:11
-
whuwheuh12310.03.2022 05:10
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.