В настольном теннисе в результате каждой подачи разыгрывается одно очко. Подача переходит от игрока к игроку каждые 5 подач, т.е. первые пять раз подает первый игрок, затем 5 раз — второй, затем снова первый и т.д.
Партия играется до тех пор, пока кто-нибудь из игроков не наберет 21 очко. Тот, кто набрал 21 очко, признается победителем, и игра заканчивается.
Вася и Петя играли в игру, и забыли, кто должен подавать в данный момент. Однако они помнят, что первую подачу делал Вася, и счет в настоящий момент a:b (a очков у Васи и b очков у Пети). Напишите программу, которая по данным a и b будет определять, чья подача или устанавливать, что игра закончена.
Вводятся два числа a и b. Числа соответствуют реальному счету, т.е. оба числа целые, от 0 до 21 и не равны 21 одновременно.
Выведите одно из четырех сообщений:
· Vasya serves — если сейчас должен подавать Вася
· Petya serves — если сейчас должен подавать Петя
· Vasya wins — если игра завершена и выиграл Вася
· Petya wins — если игра завершена и выиграл Петя
4 1
Petya serves
15 0
Petya serves
21 12
Vasya wins
Возвращаясь с турслета, Вася пришел на станцию и хочет уехать в Москву. На станции не оказалось расписания электропоездов, но у Васи есть справочник, в котором указано время отправления поездов с конечных пунктов, а также время следования от каждого из конечных пунктов до станции, где находится Вася.
Помогите Васе определить, сколько ему придется ждать ближайшую электричку.
Сначала вводятся два числа, задающих часы и минуты прихода Васи на станцию.
Далее идет число \(N\) — количество конечных станций, от которых отправляются электрички, проходящие через Васину станцию (1≤\(N\)≤100).
Далее идет N блоков данных (по одному блоку для каждой станции). Сначала записано время \(T_i\) следования электрички от станции ее отправления до станции, где находится Вася. Время задается в минутах и выражается целым неотрицательным числом, не превышающим 1440.
Далее идет число \(M_i\), определяющее количество электричек в сутки, отправляющихся от этой станции (1≤\(M_i\)≤100). Далее идет \(M_i\) пар чисел, задающих времена отправления электричек от этой станции. Все времена указаны в возрастающем порядке.
Часы находятся в интервале от 0 до 23, минуты – от 0 до 59.
Считается, что все электропоезда ходят ежедневно. Т.е., например, если у нас только один пункт и только одна электричка, и с этого пункта она отправляется в 23.59 и идет до Васиной станции 61 минуту, то в 01.00 Вася может на ней уехать в тот день, когда он пришел на станцию (если он пришел не позднее 01.00), или на следующий день, если он придет позднее.
Гарантируется, что хотя бы одна электричка в сутки через Васину станцию проходит.
Выведите одно число — время в минутах, которое Васе придется ждать ближайшую электричку. Считается, что если Вася и электричка приходят на станцию одновременно, то Вася успевает на эту электричку и время ожидания 0.
15 57 2 5 2 15 50 19 30 30 1 15 43
16
18 0 1 0 1 15 0
1260
18 0 2 0 1 18 0 10 1 17 50
0
Петя и Вася обменивались шифрованными сообщениями. Они брали некоторое слово, записанное маленькими латинскими буквами и переставляли в нем буквы. Антон перехватил одну из шифровок. У него есть несколько гипотез о том, что могло содержаться в шифровке.
Выведите те слова из списка Антона, шифром которых может являться перехваченное сообщение.
В первой строке вводится текст перехваченного сообщения.
Во второй строке записано число \(N\) — количество слов – гипотез Антона (1≤\(N\)≤100). В следующих \(N\) строках записаны сами слова.
Каждое слово (как перехваченная шифровка, так и слова – гипотезы Антона) состоит только из маленьких латинских букв и имеет длину не более 200 символов.
Выведите те слова – гипотезы, в результате шифрования которых могло получиться перехваченное сообщение. Слова должны быть выведены в том же порядке, в каком они вводятся.
Если ни одно слово не подходит, не нужно выводить ничего.
aamm 4 mama papa amam am
mama amam
qwerty 1 qwerty
qwerty
Двое друзей играют в игру на бесконечной ленте. У каждого из них есть по одной фишке. В начале игры обе фишки стоят на первой клетке. Кроме этого, есть набор карточек с числами.
Игра состоит в том, что игроки по очереди выбирают одну из карточек и передвигают свою фишку по ленте на то количество клеток, какое число написано на карточке. После этого карточка выбрасывается.
Игра завершается, когда карточки закончились. Победившим считается игрок, у которого фишка стоит на поле с большим номером.
Известен набор карточек. Напишите программу, которая определит победителя и номера клеток, на которых будут стоять фишки по окончанию игры. Известно, что оба друга играют по оптимальной стратегии.
Сначала вводится число \(N\) — количество карточек с числами (1≤\(N\)≤100000). Далее записаны \(N\) натуральных чисел — числа, написанные на карточках. Каждое из этих чисел не превышает 10000.
Выведите номер клетки, на которой будет стоять в конце игры фишка победителя, и номер клетки, на которой будет стоять фишка его противника, если оба использовали оптимальную стратегию.
4 5 1 8 2
11 7
5 9 6 3 7 10
21 16
Мосгортранс в честь дня своего рождения решил провести соревнования, и, по аналогии с «Бегущим городом» назвать их «Ездящий город».
Участник соревнований получает маршрутный лист, где указано, какие контрольные пункты и в каком порядке он должен посетить (в каждом пункте участник должен отметиться). При этом участник должен отмечаться в пунктах строго в указанном порядке. Какие-то пункты может потребоваться посетить несколько раз.
Специально по случаю соревнования между контрольными пунктами будут ходить автобусы. Перемещаться от контрольного пункта к контрольному пункту разрешается только на автобусах. При этом можно пользоваться как прямым рейсом, соединяющим контрольные пункты (если он существует), так и добираться с пересадкой через другие контрольные пункты (если это оказывается быстрее или если прямого маршрута вовсе нет), при этом в пересадочных пунктах участник не отмечается.
Известен маршрутный лист участника и расписание движения автобусов. Требуется определить минимальное время, которое понадобится участнику на прохождение маршрута.
Сначала вводится число \(N\) — общее количество контрольных пунктов (2≤\(N\)≤10000).
Далее вводится количество автобусных маршрутов \(K\) (1≤\(K\)≤50000). Далее идет \(K\) описаний автобусных маршрутов.
Каждый маршрут описывается четырьмя числами \(A_i\), \(B_i\), \(C_i\), \(D_i\), которые означают, что каждые \(C_i\) минут (т.е. в моменты времени 0, \(C_i\), 2*\(C_i\), …) автобус выходит от контрольного пункта \(A_i\) и через \(D_i\) минут прибывает к контрольному пункту \(B_i\). Все \(C_i\) и \(D_i\) — натуральные и не превышают 10000.
Будем считать, что времени на то, чтобы отметиться на контрольном пункте и на то, чтобы пересесть с автобуса на автобус, участнику не требуется. Т.е. если, например, в момент 10 он прибывает на какой-то контрольный пункт, то дальше он может уехать любым автобусом, отправляющимся от этого контрольного пункта в момент времени 10 или позднее.
Далее вводится число \(M\) — количество контрольных пунктов в маршрутном листе участника (2≤\(M\)≤50). Далее вводятся \(M\) чисел \(P_1\), \(P_2\), …, \(P_M\) — номера контрольных пунктов, которые нужно посетить (числа в этом списке могут повторяться). В момент времени 0 участник находится в пункте \(P_1\). Временем прохождения маршрута считается момент времени, когда участник окажется в пункте \(P_M\).
Выведите одно число — минимальное время, за которое участник может пройти маршрут. Если существующие автобусные рейсы не позволяют пройти маршрут, выведите одно число –1 (минус один).
2 2 2 1 3 1 1 2 5 4 3 1 2 1
7
3 4 2 1 30 10 1 2 50 40 2 3 45 10 3 1 55 10 3 1 2 1
65
2 2 1 2 3 1 1 2 5 4 3 1 2 1
-1