D4. фанатам стратегий 3 (7 )
данный шаг отличается от предыдущего формулировкой ограничений на входные данные. перед проверкой решения с формулировкой ограничений из этого шага, убедитесь, что это решение проходит и на предыдущем шаге.
к добавлено примечание!
вскоре стало понятно, что всё совсем не просто. нельзя взять и построить здание. их в этой игре ещё и открыть нужно.
новое здание типа
a
можно построить, только если на нашей базе функционирует хотя бы по одному новому зданию из списка необходимых зданий здания типа
a
.
сколько на самом деле нам придётся построить зданий (не считая электростанций)? какие они? в каком порядке их строить? ваша – найти ответы на эти вопросы.
примечание
гарантируется, что существует такая последовательность постройки зданий, что здания всех типов можно построить.
формат входных данных
в первой строке записаны три целых числа
n, m и t
(1≤m≤n≤5⋅10^4; 1≤t≤2)
– количество различных типов новых зданий в игре, количество новых зданий, которые нужно построить, и номер формата выходных данных.
в следующей строке записаны
m
названий типов зданий, разделённых пробелами – требуемые для обеспечения устойчивой обороны здания. гарантируется, что строка не содержит одинаковых типов зданий.
далее идёт
n
блоков по
2
строки следующего вида:
в первой строке – название типа здания.
во второй – длина списка необходимых зданий для здания данного типа и сам список необходимых зданий. гарантируется, что список не содержит одинаковых типов зданий.
сумма длин списков необходимых зданий не превышает
5⋅10^4.
название каждого типа здания состоит только из латинских букв и имеет длину не более десяти символов.
формат выходных данных
если
t=1
, то выведите одно число – минимальное количество зданий, которые нужно построить.
если
t=2
, то в первой строке выведите одно число – минимальное количество зданий, которое необходимо построить, а во второй –
k
названий зданий, которые нужно построить, в том порядке, в котором их нужно строить. если существует несколько подходящих последовательностей – выведите любую из них.
sample input 1:
13 5 2
refinery vehicle repair palace turret
constryard
0
windtrap
1 constryard
refinery
1 windtrap
outpost
1 windtrap
silo
2 refinery constryard
vehicle
3 refinery windtrap outpost
barracks
2 constryard outpost
wall
1 outpost
turret
1 outpost
starport
2 silo refinery
repair
1 vehicle
hitech
3 vehicle wall outpost
palace
1 starport
sample output 1:
10
constryard windtrap refinery outpost silo vehicle turret starport repair palace
В современном обществе можно выделить три основных вида носителей информации:
1) бумажный;
2) магнитный;
3) оптический.
Бумажные носители информации.
Одним из самых распространенных носителей информации является бумага. В школе мы записываем информацию в тетради, теоретический материал изучаем по учебникам, при разработке доклада, реферата или другого сообщения необходимые сведения мы находим в других источниках (книгах, энциклопедиях, словарях и т. д) , которые в свою
очередь являются бумажными носителями информации
Первые вычислительные машины работали на перфокартах. Перфокарты делали из плотной бумаги- картона, на которые по определенному правилу с специального «станка» - перфоратора наносили отверстия в виде
небольших дырочек.
Магнитные носители информации
В 1928 году была изготовлена первая магнитная лента. Наши бабушки и дедушки слушали музыку на магнитофонах с магнитной лентой, которую называли «Бабина» .
Магнитная лента оказалась достаточно надежным, долговечным и доступным каждому носителем информации.
В первых ЭВМ (электронно- вычислительных машинах) информация хранилась на магнитных лентах и магнитных дисках
В современных компьютерах в качестве носителя информации используются следующие магнитные носители :
1) дискета (на которую можно поместить данные 3000 перфокарт) .
. Внутри пластмассового корпуса расположен гибким магнитный диск, поверхность которого покрыта специальным магнитным веществом. Информация записывается на обе его поверхности. Чтобы при работе с дискетой ее не надо было переворачивать, внутри флоппи-дисковода (устройства, которое записывает или считывает информацию с дискеты) имеется две магнитные головки, каждая для своей стороны дискеты. Такой диск требует особого обращения, магниты, повышенная температура и влажность разрушают хранящуюся на нем информацию.
2) жесткий магнитный диск или винчестер ( хранит 100 000 и более дискет) . Внутри жесткого металлического корпуса находятся несколько десятков дисков магнитных дисков, размещенных на одной оси . Запись или считывание информации обеспечивается несколькими магнитными головками. В целях сохранения информации и работо жесткие магнитные диски необходимо оберегать от ударов и резких изменений положений системного блока (нельзя наклонять и переворачивать в процессе работы) .
3) стриммеры (стрим-картриджи) - устройства, обеспечивающие запись или считывание звуковой информации . Внутри данного носителя находится магнитная лента.
Оптические носители информации
Самым распространенными носителями информации являются оптические или лазерные диски .
Лазерные диски изготавливают из пластмассы, сверху покрывают тонким слоем из металла и прозрачным лаком, защищающим от незначительных царапин или загрязнений. Запись или считывание информации в CD-дисководе осуществляется с света лазера. При записи лазерный луч выжигает на поверхности диска микроскопические углубления, кодируя тем самым информацию (при считывании -лазерный луч отражается от поверхности вращающегося диска) . Такие диски следует оберегать от пыли и царапин.
Различают CD и DVD диски.
const n=10;
var a:array[1..n+1] of integer;
p,i:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
a[i]:=random(21);
write(a[i]:4);
end;
writeln;
write('p = '); readln(p);
a[n+1]:=p;
i:=1;
while a[i]<>p do i:=i+1;
if i<=n
then writeln('Искомый элемент найден, его номер = ',i)
else writeln('Искомый элемент не найден');
end.
Пример 1:
Исходный массив:
7 17 16 13 0 1 19 20 12 5
p = 13
Искомый элемент найден, его номер = 4
Пример 2:
Исходный массив:
20 4 5 12 14 10 11 16 18 20
p = 15
Искомый элемент не найден