Информатика

1 132 задачивместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
На фабрике Деда Мороза изготавливаются лампочки различного веса и яркости. Вес лампочки не превосходит 100 грамм, яркость лампочки не превосходит 10000 люменов. 
Для изготовления новогодней гирлянды выбираются K самых ярких лампочек. Если яркость у двух лампочек одинаковая и они все не помещаются в гирлянду, то помещают лампочку с меньшим весом.
Известна информация о весе и яркости каждой лампочки, завезенной в мастерскую для формирования новогодней гирлянды.
Определите суммарный вес лампочек в гирлянде и среднюю яркость всей гирлянды.

Входные и выходные данные
В файле в первой строке через пробел записаны числа N - количество лампочек, завезенный в мастерскую (натуральное число, не превышающее 1000) и K –  количество лампочек в гирлянде (натуральное число, не превосходящее 100). В каждой из последующих N строк через пробел записаны два числа – вес и яркость каждой лампочки.
Запишите в ответе два числа – сначала суммарный вес лампочек в гирлянде, затем среднюю яркость всей гирлянды (только целую часть).

Пример организации исходных данных во входном файле:

9 4
50 600
60 480
45 540
30 300
15 180
70 560
30 360
91 910
40 320


Ответ: 256 652
 
В quizzz "Сдай ЕГЭ на 100 баллов" можно набрать до 10 000 очков. По окончании игры, первые K участников, набравшие наибольшее количество баллов, получают бонус к своим очкам в виде +30% от набранных.  Вам известна информация о том, сколько очков набрал каждый участник игры. Определите максимальное количество очков, на которое не распространился бонус, а также целую часть от общей суммы бонуса, полученную игроками.

Входные и выходные данные
В первой строке входного файла находятся два числа, записанные через пробел: N – общее количество игроков (натуральное число, не превышающее 10 000) и K – количество игроков, которые получают бонус. В следующих N строках находятся результаты каждого участника (количество набранных очков - все числа натуральные, не превышающие 10 000), каждое в отдельной строке.  
Запишите в ответе два числа: сначала максимальное количество очков, на которое не распространился бонус, а затем целую часть от суммы всех надбавок.

Пример входного файла:
12 4
370
580
3000
1310
1700
2810
1660
1250
1870
1340
1400
1260


При таких исходных данных ответ должен содержать два числа – 1660 2814.
 
39013#39013

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат три кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в два раза. Например, пусть в одной куче 10 камней, во второй и третьей 5 камней; такую позицию в игре будем обозначать (10, 5, 5). Тогда за один ход можно получить любую из шести позиций: (11, 5, 5), (20, 5, 5), (10, 6, 5), (10, 10, 5), (10, 5, 6), (10, 5, 10). Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.

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

В начальный момент в первой куче было 20 камней, во второй куче 10 камней, в третьей куче – S камней; 1 ≤ S ≤ 29.

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.
 

Вопрос 1

Найдите такое значение S, при котором у Вани есть выигрышная стратегия, при которой он побеждает своим первым ходом.
 

Вопрос 2 

Найдите два таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

− Петя не может выиграть за один ход;

− Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

Найденные значения запишите в ответе в порядке возрастания.

 
Вопрос 3

Найдите такое значение S, при котором одновременно выполняются два условия:

– у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;

– у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.

 
Формат ввода ответов 

На каждое задание ответы пишите с новой строки. Например, если ответ на первый вопрос 1, на второй 2 и 3, на третий 4, то ответы надо записать так:

1
2 3
4

39012#39012

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один или два камня или увеличить количество камней в одной из куч на количество камней в другой куче. Например, пусть в одной куче 10 камней, а в другой 5 камней; такую позицию в игре будем обозначать (10, 5). Тогда за один ход можно получить любую из шести позиций: (11, 5), (12, 5), (15, 5), (10, 6), (10, 7), (10, 15). Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.

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

В начальный момент в первой куче было 44 камня, во второй куче – S камней; 1 ≤ S ≤ 90.

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.
 

Вопрос 1

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

 
Вопрос 2

Найдите минимальное и максимальное значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

− Петя не может выиграть за один ход;

− Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

Найденные значения запишите в ответе в порядке возрастания.

 
Вопрос 3

Найдите максимальное значение S, при котором одновременно выполняются два условия:

– у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;

– у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.

 
Формат ввода ответов 

На каждое задание ответы пишите с новой строки. Например, если ответ на первый вопрос 1, на второй 2 и 3, на третий 4, то ответы надо записать так:

1
2 3
4

39011#39011

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) три камня или увеличить количество камней в куче в два раза. Например, пусть в одной куче 10 камней, а в другой 5 камней; такую позицию в игре будем обозначать (10, 5). Тогда за один ход можно получить любую из четырёх позиций: (13, 5), (20, 5), (10, 8), (10, 10). Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.

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

В начальный момент в первой куче было 23 камня, во второй куче – S камней; 1 ≤ S ≤ 26.

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.
 

Вопрос 1

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

 
Вопрос 2

Найдите минимальное и максимальное значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

− Петя не может выиграть за один ход;

− Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

Найденные значения запишите в ответе в порядке возрастания.

 
Вопрос 3

Найдите минимальное значение S, при котором одновременно выполняются два условия:

– у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;

– у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.

 
Формат ввода ответов 

На каждое задание ответы пишите с новой строки. Например, если ответ на первый вопрос 1, на второй 2 и 3, на третий 4, то ответы надо записать так:

1
2 3
4

39010#39010

Два игрока, Петя и Вася, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) два камня или увеличить количество камней в куче в два раза. Например, пусть в одной куче 10 камней, а в другой 5 камней; такую позицию в игре будем обозначать (10, 5). Тогда за один ход можно получить любую из четырёх позиций: (12, 5), (20, 5), (10, 7), (10, 10). 

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

Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 85.  Если при этом суммарное количество камней в кучах оказалось не более 111, то победителем считается игрок, сделавший последний ход. В противном случае победителем становится его противник, при этом считается, что противник сделал ход. 

В начальный момент в первой куче было пятнадцать камней, во второй куче – S камней; 1 ≤ S ≤ 69. 

Выполните следующие задания.

 
Вопрос 1

Известно, что Вася победил после первого неудачного хода Пети. Назовите минимальное S, при котором это возможно.

 
Вопрос 2

Укажите минимальное и максимальное значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

- Петя не может выиграть за один ход;

- Петя может выиграть своим вторым ходом независимо от того, как будет ходить Вася.

Найденные значения запишите в ответе в порядке возрастания.

 
Вопрос 3

Укажите количество значений S, при котором одновременно выполняются два условия:

- у Васи есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;

- у Васи нет стратегии, которая позволит ему гарантированно выиграть первым ходом.

 
Формат ввода ответов 

На каждое задание ответы пишите с новой строки. Например, если ответ на первый вопрос 1, на второй 2 и 3, на третий 4, то ответы надо записать так:

1
2 3
4

39009#39009

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) три камня или увеличить количество камней в куче в два раза. Например, пусть в одной куче 10 камней, а в другой 5 камней; такую позицию в игре будем обозначать (10, 5). Тогда за один ход можно получить любую из четырёх позиций: (13, 5), (20, 5), (10, 8), (10, 10). Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.

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

В начальный момент в первой куче было 43 камня, во второй куче – S камней; 1 ≤ S ≤ 113.

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.

 
Вопрос 1

Найдите значение S, при котором у Вани есть выигрышная стратегия, при которой он побеждает своим первым ходом.

 
Вопрос 2

Найдите минимальное и максимальное значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

− Петя не может выиграть за один ход;

− Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

Найденные значения запишите в ответе в порядке возрастания.

 
Вопрос 3

Найдите минимальное значение S, при котором одновременно выполняются два условия:

– у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;

– у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.

 
Формат ввода ответов 

На каждое задание ответы пишите с новой строки. Например, если ответ на первый вопрос 1, на второй 2 и 3, на третий 4, то ответы надо записать так:

1
2 3
4

39008#39008

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) два камня или увеличить количество камней в куче в три раза. Например, пусть в одной куче 10 камней, а в другой 5 камней; такую позицию в игре будем обозначать (10, 5). Тогда за один ход можно получить любую из четырёх позиций: (12, 5), (30, 5), (10, 7), (10, 15). Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.

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

В начальный момент в первой куче было 10 камней, во второй куче – S камней; 1 ≤ S ≤ 90.

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.

 
Вопрос 1

Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети. Укажите минимальное значение S, когда такая ситуация возможна.

 
Вопрос 2

Найдите такие минимальное и максимальное значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

− Петя не может выиграть за один ход;

− Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

Найденные значения запишите в порядке возрастания.
Вопрос 3

Найдите такое значение S, при котором одновременно выполняются два условия:

– у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;

– у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.

 
Формат ввода ответов 

На каждое задание ответы пишите с новой строки. Например, если ответ на первый вопрос 1, на второй 2 и 3, на третий 4, то ответы надо записать так:

1
2 3
4

39006#39006

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один или четыре камня или увеличить количество камней в куче в два раза. Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.

Игра завершается в тот момент, когда количество камней в куче становится не менее 85. Если при этом в куче оказалось не более 111 камней, то победителем считается игрок, сделавший последний ход. В противном случае победителем становится его противник, при этом считается, что он сделал свой ход.

В начальный момент в куче было S камней, 1 ≤ S ≤ 84.

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.

 
Вопрос 1

Известно, что Ваня победил после первого неудачного хода Пети. При этом в свой ход Ваня добавлял камни в кучу. Назовите максимальное значение s, при котором это возможно?

 
Вопрос 2

Найдите минимальное и максимальное значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

− Петя не может выиграть за один ход;

− Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

Найденные значения запишите в ответе в порядке возрастания.

 
Вопрос 3

Найдите минимальное значение S, при котором одновременно выполняются два условия:

− у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;

− у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.

 
Формат ввода ответов 

На каждое задание ответы пишите с новой строки. Например, если ответ на первый вопрос 1, на второй 2 и 3, на третий 4, то ответы надо записать так:

1
2 3
4

39005#39005

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу два или три камня или увеличить количество камней в куче в три раза. Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.

Игра завершается в тот момент, когда количество камней в куче становится не менее 50. Если при этом в куче оказалось не более 100 камней, то победителем считается игрок, сделавший последний ход. В противном случае победителем становится его противник, при этом считается, что он сделал свой ход.

В начальный момент в куче было S камней, 1 ≤ S ≤ 49.

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.

 
Вопрос 1

При каком минимальном значении S у Вани есть выигрышная стратегия, при которой он побеждает своим первым ходом?

 
Вопрос 2

Сколько существует таких значений S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

− Петя не может выиграть за один ход;

− Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

В ответе запишите одно число - количество таких значений S.

 
Вопрос 3

Найдите минимальное значение S, при котором одновременно выполняются два условия:

− у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;

− у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.

 
Формат ввода ответов 

На каждое задание ответы пишите с новой строки. Например, если ответ на первый вопрос 1, на второй 2, на третий 4, то ответы надо записать так:

1
2
4

01#38990
Квадрат разлинован на N × N клеток (1 < N < 30). Исполнитель ЭМУ может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вверх. По команде вправо ЭМУ перемещается в соседнюю правую клетку, по команде вверх – в соседнюю верхнюю. Квадрат ограничен внешними стенами. Между соседними клетками квадрата также могут быть внутренние стены. Сквозь стены ЭМУ пройти не может. 
В начальный момент времени у ЭМУ имеется запас фруктов, равный числу, записанному в стартовой клетке. При переходе с клетки на клетку ЭМУ съедает определеное число фруктов. При перемещении вправо ЭМУ съедает столько фруктов сколько записанно в клетке, в котороую он перемещается, плюс еще 2. При перемещении вверх ЭМУ съедает удвоенное число фруктов, записанное в клетке, в которую он перемещается, Определите максимальное и минимальное число фруктов, которые останутся в запасе у ЭМУ, пройдя из левой нижней клетки (стартовая клетка) в правую верхнюю.
В ответе укажите два числа – сначала максимальное число, затем минимальное. Оба числа указываются в одной строке через один пробел.
Исходные данные представляют собой электронную таблицу размером N × N, каждая ячейка которой соответствует клетке квадрата. Внутренние и внешние стены обозначены утолщенными линиями.
38988#38988

Исполнитель преобразует число на экране.

У исполнителя есть четыре команды, которым присвоены номера:

1. Прибавить 1
2. Прибавить 3
3. Умножить на 2
4. Умножить на 3

Программа для исполнителя – это последовательность команд.

Известно, что исполнитель не может получить число, которое уже было им получено ранее на этом шаге из данного числа. Например, из числа 3 можно получить числа 4, 6, 6 и 9. Выполнить команду номер 3 исполнитель не сможет, потому что число 6 уже было получено ранее.

Сколько существует программ, для которых при исходном числе 5 результатом является число 51 и траектория вычислений не содержит число 42?

38987#38987

Исполнитель преобразует число на экране.

У исполнителя есть четыре команды, которым присвоены номера:

1. Прибавить 1
2. Прибавить 3
3. Умножить на 2
4. Умножить на 3

Программа для исполнителя – это последовательность команд.

Известно, что исполнитель не может получить число, которое уже было им получено ранее на этом шаге из данного числа. Например, из числа 3 можно получить числа 4, 6, 6 и 9. Выполнить команду номер 3 исполнитель не сможет, потому что число 6 уже было получено ранее.

Сколько существует программ, для которых при исходном числе 2 результатом является число 42?

38986#38986

Исполнитель преобразует число на экране.

У исполнителя есть три команды, которым присвоены номера:

1. Прибавить 1
2. Прибавить 3
3. Возвести в квадрат

Программа для исполнителя – это последовательность команд.

Известно, что исполнитель не может повторить команду, выполненную на предыдущем шаге. Например, если была выполнена команда 1, на следующем шаге могут быть выполнены только команды 2 или 3.

Сколько существует программ, для которых при исходном числе 2 результатом является число 33, и при этом траектория вычислений содержит число 5, но не содержит число 6?

Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 11, 12.

38984#38984

Исполнитель преобразует число на экране.

У исполнителя есть две команды, которым присвоены номера:

1. Прибавить 1
2. Умножить на 2

Программа для исполнителя – это последовательность команд.

Какое количество различных чисел будут повторяться в результатах из исходного числа 2, если известно, что траектория вычислений программы, включая исходное число, состоит ровно из 6 чисел?

Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из четырех чисел: 7, 8, 16, 17.

38983#38983

Исполнитель преобразует число на экране.

У исполнителя есть две команды, которым присвоены номера:

1. Прибавить 1

2. Умножить на 2

Программа для исполнителя – это последовательность команд.

Сколько различных чисел можно получить из исходного числа 2, если известно, что траектория вычислений программы, включая исходное число, состоит ровно из 6 чисел?

Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из четырех чисел: 7, 8, 16, 17.

Школьники собрались в суперкинотеатр на премьеру нового суперфильма. Организатор закупил для всех билеты на места в нескольких рядах. Билеты именные, поэтому известно, какие места заняты, а какие нет.  Вход в зал осуществляется возле последнего ряда, со стороны первого места. Организотор для себя выбирает ряд, который ближе всего к выходу (то есть ряд с наибольшим номером), в котором есть такие два соседних места, что слева и справа от них в том же самом ряду места уже заняты. Из этих двух мест он садится на место с наименьшим номером. Гарантируется, что есть хотя бы один ряд, удовлетворяющий условию.

Входные данные 
В первой строке входного файла находится число:  N – количество занятых мест (натуральное число, не превышающее 10 000). В следующих N строках находятся пары чисел: ряд и место выкупленного билета, не превышающие 100 000.

В ответе запишите два целых числа через пробел: номер ряда и наименьший номер места из найденных в этом ряду подходящих пар.

Пример входного файла:
10
14 5
14 10
14 7
15 10
15 4
15 7
22 23
22 19
22 55
22 40
В данном примере есть следующие свободные места, удовлетворяющие условию: в 14 ряду места 8 и 9, в ряду 15 месте 5 и 6. Выбираем наибольший номер ряда: 15 и наименьший номер места: 5. В ответе нужно указать: 15 5.

Файл к заданию
В магазине игрушек распродажа. В распродаже участвуют K  самых дорогих товаров. Скидка на них составляет 20%.  Определите цену самого дорогого товара, не участвующего в распродаже, а также целую часть от суммы всех скидок.

Входные данные
В файле в первой строке содержит два числа, записанные через пробел: N – общее количество цен (1<=N<=10 000) и K – количество товаров со скидкой. В следующих N строках находятся значения цены каждого из товаров (все числа натуральные, не превышающие 10 000), каждое в отдельной строке.  

Запишите в ответе два числа через пробел: сначала цену самого дорогого товара, не участвующего в распродаже, а затем целую часть от суммы всех скидок.
 
Примеры
Входной файл Ответ
1 10 3
1800
3600
3700
800
2600
2500
1800
1500
1900
1200
2500 1980


Файл к заданию 
 
 
Пусть S(n) обозначает сумму цифр числа в десятичной системе счисления. Например, S(123) = 1 + 2 + 3 = 6. Мы будем называть целое число n числом Громозеки, если для всех положительных целых чисел m таких, что m > n, выполняется условие \(\frac {n}{S(n)} <= \frac {m}{S(m)}\). По заданному целому числу K, перечислите K наименьших чисел Громозеки.

Входные данные
На вход подается целое число K (K>=1, K-ое наименьшее число Громозеки не больше 1015).

Выходные данные
Выведите K строк. В i-й строке должен быть указан i-й наименьший номер Громозеки.
 

 

Примеры
Входные данные Выходные данные
1 10 1
2
3
4
5
6
7
8
9
19

 

В подземелье есть N залов, соединенных туннелями. В некоторых залах находятся роботы, которые одновременно получили команду собраться в одном месте.

Роботы устроены так, что, получив команду, они все начали двигаться с такой скоростью, что туннель между двумя любыми залами преодолевают за 1 минуту. Роботы не могут останавливаться (в том числе и в залах), а также менять направление движения, находясь в туннелях (однако попав в зал, робот может из него пойти по тому же туннелю, по которому он пришел в этот зал).

Напишите программу, вычисляющую, через какое минимальное время все роботы смогут собраться вместе (в зале или в туннеле).

Входные данные
Сначала на вход программы поступают числа N — количество залов (1≤N≤400) и K — количество туннелей (1≤K≤20000). Далее вводится K пар чисел, каждая пара описывает номера залов, соединяемых туннелем (по туннелю можно перемещаться в обе стороны). Между двумя залами может быть несколько туннелей. Туннель может соединять зал с самим собой. Далее следует число M (1≤M≤400) — количество роботов. Затем вводятся M чисел, задающих номера залов, где вначале расположены роботы. В одном зале может быть несколько роботов.

Выходные данные
Выведите минимальное время в минутах, через которое роботы могут собраться вместе. Если роботы никогда не смогут собраться вместе, выведите одно число –1 (минус один).
Примеры
Входные данные Выходные данные
1 4 5
1 2
2 3
3 4
1 4
1 3
3
1 2 4
1
2 3 2
1 2
2 3
2
1 3
1
Поделиться
Класснуть