Алгоритмы(1657 задач)
Структуры данных(279 задач)
Интерактивные задачи(17 задач)
Другое(54 задач)
Вася очень любит учиться, но некоторые уроки в школе—полная скукотища. Для того чтобы скрасить время, они с Петей придумали игру. Перед началом партии ребята пишут на листочке два различных натуральных числа aиb . Затем по очереди делают ход: среди записанных чисел выбирают p и q такие, что модуля их разности | p − q | еще нет на листке, и дописывают его. Проигрывает тот, кто не может сделать ход. Определите, кто из ребят окажется победителем при правильной игре обоих. Вася вежливый мальчик, поэтому всегда ходит вторым.
В первой и единственной строке записано два различных натуральных числа 1 ≤ a , b ≤ 10^9 , разделенные пробелом—два исходных числа на листке.
Выведите имя победителя
В первом примере Петя первым ходом допишет на листок число |6−2| = 4 . Больше ходов нет, поэтому выигрывает Петя. Во втором примере первым ходом на листок будет дописано число |4−1| = 3 . Затем Вася может записать |3−1| = 2 , тогда у Пети ходов не останется. Побеждает Вася.
6 2
Petya
4 1
Vasya
Миша поспорил с друзьями, что решит N олимпиадных задач по программированию, потратив на это не более M дней. Следующие M дней Миша провел за решением задач и выиграл спор — всего он решил ровно N задач. В день i Миша решил X i задач. При этом Миша оценивал результаты своей работы за день следующим образом. Сначала он вычислял значение Y i — сколько в среднем нужно решать задач в оставшиеся дни (включая текущий), чтобы в итоге решить ровно N задач (с учетом уже решенных задач в предыдущие дни). Разумеется, число Y i не обязательно получалось целым. Если реальное количество задач X i , решенных Мишей в день i , совпадало со значением Y i , то Миша записывал на листочек символ «=». Если получалось так, что Миша решил меньше планируемого числа задач, то он записывал символ «<». Если же Миша решил больше задач, чем Y i , то записывал символ «>». Зная количество решенных в каждый из дней задач, необходимо восстановить записи Миши.
В первой строке содержатся 2 натуральных числа N и M — количество задач, которые должен решить Миша, и количество дней, отведенных для решения ( 1 ≤ N , M ≤ 100 ). Во второй строке записано M целых неотрицательных чисел X i —количество задач, решенных Мишей в соответствующий день. Гарантируется, что сумма всех чисел X i равна N .
Выведите одну строку из M символов — запись Миши (без пробелов).
В первом примере Миша должен решить 4 задачи за 2 дня, то есть в среднем по 2 задачи в день. Поскольку каждый день он так и решал по 2 задачи, то на листочке он записал два раза символ «=». Во втором примере нужно решить 12 задач за 4 дня. Соответственно, к первому дню Миша должен решать в среднем 3 задачи. Решив 3 задачи, он записал символ «=», у него осталось 9 задач и 3 дня. Во второй день Миша осилил только 2 задачи, что меньше среднего необходимого числа, поэтому на листочке он записал символ «<». У Миши осталось 7 задач и 2 дня, то есть в среднем он должен решать по 3.5 задачи в день. Миша решил 5 задач, что больше среднего, поэтому записал символ «>». Далее у Миши осталось 2 задачи и 1 день, то есть в среднем он должен решать по 2 задачи. В итоге, решив эти 2 задачи, Миша записал символ «=».
4 2 2 2
==
12 4 3 2 5 2
=<>=
Программистам Пете и Гене поручили разработать новый план королевства. Они долго рассуждали и сошлись на мнении, что в идеальном королевстве должно быть ровно N городов и ровно M дорог. Каждая из M дорог должна соединять два различных города, при этом между каждой парой городов может проходить не более одной дороги. Однако между какими именно городами будут проходить дороги, программисты не обсуждали. Они решили, что каждый из них нарисует свою карту дорог идеального королевства, а потом они выберут, чья карта лучше. Начинающий программист Миша, задумался, а стоит ли им вообще выбирать? Может быть, все возможные карты, содержащие N городов и M дорог одинаковые? Миша считает две карты дорог одинаковыми, если можно так пронумеровать города первой карты числами от 1 до N и города второй карты (тоже числами от 1 до N ), что дорога между некоторыми городами в первой карте существует тогда и только тогда, когда существует дорога между соответствующими городами второй карты. Например, карты, показанные на рисунке 1, являются одинаковыми, а на рисунке 2 — различными. По заданным числам N и M определите, могут ли существовать две различные карты дорог.
рисунок 1
рисунок 2
В первой строке содержатся два целых числа — N и M ( 1 ≤ N ≤ 10 , 0 ≤ M ≤ 45 ). Гарантируется, что существует хотя бы одна карта с N городами и M дорогами.
Если существуют две различные карты дорог, то выведите YES. В противном случае — NO.
Все карты из 2 городов и 1 дороги одинаковые (они соответствуют картам, изображенным на рисунке 1), поэтому не существует двух различных карт и ответ в первом примере NO. На рисунке 2 изображены две различные карты с 5 городами и 5 дорогами, поэтому во втором примере ответ YES.
2 1
NO
5 5
YES
На координатной плоскости вдоль оси OX, симметрично относительно начала координат, мирно расположился крейсер «Адмирал Василий». Крейсер расположен так, что его центр находится в точке (0, 0) , нос (передняя часть) — в точке (− L , 0) , а корма (задняя часть) — в точке ( L , 0) . Отнюдь не мирные цели визита «Адмирала Василия» на координатную плоскость выдают лишь две его установки ПВО, расположенные на носу и корме крейсера то есть в точках (− L , 0) и ( L , 0) .
Хранители координатной плоскости не рады незваным гостям. С целью предотвращения потенциальной угрозы была выпущена ракета, направленная ровно в начало координат — центр крейсера. Ракета имеет длину
R
, на момент запуска нос ракеты находился в точке
(
X
,
Y
)
. Ракета расположена вдоль прямой, соединяющей нос ракеты и начало координат. Скорость полета ракеты —
V
(см.рисунок).
Как только ракета была запущена, её обнаружил крейсер и обе установки ПВО открыли огонь по ракете.
Установки ПВО работают следующим образом:
•они мгновенно поворачиваются, наводятся на нос ракеты и производят выстрел в этом направлении;
•скорость снаряда установки ПВО равна W ;
•установки ПВО продолжают стрелять до тех пор, пока ракета не будет уничтожена или пока крейсер не будет потоплен;
•первый выстрел установки ПВО производят в момент запуска ракеты, последующие выстрелы производятся с интервалом времени T , то есть между двумя выстрелами ракета пролетает расстояние V · T .
Если снаряд установки ПВО попадет в какую-то часть ракеты, то ракета будет уничтожена. При этом, если ракета достигнет носом центра крейсера, то , в свою очередь, крейсер будет потоплен. Какой минимальной скоростью W должны обладать снаряды установок ПВО, чтобы сбить ракету до того, как она уничтожит крейсер? Размерами снарядов установок ПВО, шириной крейсера и шириной ракеты можно пренебречь. Установки ПВО поворачиваются мгновенно. Первый выстрел они производят в момент запуска ракеты, а затем производят выстрелы с интервалом ровно T .
В первой строке входного файла содержится единственное число L — расстояние от центра крейсера до его концов ( 1 ≤ L ≤ 1000 ). Во второй строке находятся координаты носа ракеты на момент запуска — X , Y ( −1000 ≤ X ≤ 1000 , 1 ≤ Y ≤ 1000 ). В третьей строке описаны характеристики ракеты—ее длина R и скорость полета V ( 1 ≤ R , V ≤ 1000 ). В четвертой строке записано единственное число T — интервал времени между выстрелами установок ПВО ( 1 ≤ T ≤ 1000 ). Все числа во входном файле целые.
Выведите единственное число с абсолютной или относительной погрешностью не более 10 −6 — минимальную скорость снарядов установок ПВО, при которой ракету удастся сбить до того, как она потопит крейсер.
В первом примере ракета потопит крейсер через время 2. Поскольку интервал между выстрелами ПВО равен 3, то ракету нужно сбить первым выстрелом.
Во втором примере интервал между выстрелами равен 1. Значит, ракету можно сбить вторым выстрелом, для этого достаточно меньшей скорости снаряда по сравнению с первым примером.
2 0 6 2 3 3
9.486833
2 0 6 2 3 1
5.408327
Королевские Железные Дороги (КЖД) готовятся открыть новый, скоростной, маршрут из столицы в соседний город NN и обратно. Новые поезда будут добираться до места назначения втрое быстрее обычных ночных поездов. Конкурс на поставку новых составов выиграла зарубежная компания «MacroHard» — производитель локомотивов «Hawk», которые будут использоваться в королевстве под локализованным названием «Ястреб». Расписание уже готово, но до сих пор не решен вопрос, сколько именно составов нужно, чтобы его выполнить. Не требуется покупать по составу на каждый рейс, поскольку поезд, прибывший на станцию, может выполнить и обратный рейс. КЖД обратились к вам и просят написать программу, способную рассчитать минимально необходимое количество поездов на один день. Расписание состоит из N 1 рейсов из столицы в город NN и N 2 обратных рейсов. Для каждого рейса известно время отправления и время прибытия — с точностью до минуты. Любой рейс полностью выполняется в течение одних календарных суток (с 00: 00 до 23: 59 включительно) — то есть никакой рейс не прибывает на следующий день после отправления. Каждый рейс занимает как минимум одну минуту, то есть ни один поезд не прибывает на станцию назначения в ту же минуту, в которую он отправился . КЖД настолько эффективны, что после прибытия поезд готов в ту же минуту отправиться в обратный рейс. Одновременно на станции может находиться, отправляться или прибывать любое количество поездов. Руководство КЖД не одобряет холостые поездки, поэтому поезда не могут перемещаться вне расписания в течение дня. Отметим, что вам не нужно учитывать подготовку к выполнению расписания следующего дня — к моменту начала следующих суток железнодорожники способны обеспечить любое распределение составов по станциям, независимо от того, как они были распределены к концу предыдущих.
В первой строке находится число N 1 (1 ≤ N 1 ≤ 100000) — количество рейсов из столицы в город NN. В следующих N 1 строках находятся описания рейсов, по одному на строке: время прибытия и время отправления, разделенные дефисом («-»). И время прибытия, и время отправления записаны в формате HH : MM ,где HH — час (число от 0 до 23, при необходимости, дополненное ведущим нулем до двух цифр), MM — минута (число от 0 до 59, при необходимости, дополненное ведущим нулем до двух цифр). В N 1 + 2 - й строке находится число N 2 (1 ≤ N 2 ≤ 100000) — количество обратных рейсов: из города NN в столицу. На следующих N 2 строках находятся описания этих рейсов в том же формате.
Выведите единственное число — минимально возможное количество составов, которое нужно для выполнения расписания.
В первом примере семь поездов могут выполнить рейсы, например, следующим образом: 1. обратно 6:35, туда 19:00
2. туда 6:45, обратно 11:00
3. обратно 7:15, туда 20:08
4. туда 7:36, обратно 15:40
5. обратно 14:00
6. обратно 18:35
7. обратно 20:20.
Во втором примере один поезд может выполнить все рейсы.
4 06:45-10:20 07:36-11:26 19:00-22:35 20:08-23:58 7 06:35-10:10 07:15-11:10 11:00-14:48 14:00-17:48 15:40-19:28 18:35-22:23 20:20-23:55
7
2 10:00-12:00 15:00-17:00 2 12:30-14:30 17:30-19:30
1