Задача A. Задача по математике-1

Входной файл:input.txt   Ограничение времени:1 сек
Выходной файл:output.txt   Ограничение памяти:256 Мб
Максимальный балл:100  

Условие

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

Иван Петрович придумал следующую задачу: пусть даны целые числа A и N, найдите целое число B такое, что AB + A + B делится на N. Он решил составить несколько подобных задач, изменяя данные в условии задачи. Для того, чтобы быстро проверить решение задачи учениками учителю необходимо знать и ответы на эти задачи. Помогите Ивану Петровичу написать программу для проверки решений его учеников.

Формат входного файла

Единственная строка входного файла содержит три целых числа A, N, B разделённых знаком пробела – числа, которые будут использоваться для очередного варианта контрольной.

Формат выходного файла

В выходной файл нужно вывести YES, если ответ ученика B соответствует исходным данным задачи Ивана Петровича. В противном случае, необходимо вывести NO.

Ограничения

1 ≤ A, B, N ≤ 109

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
2 4 2
YES
2
3 4 1
NO

Задача B. Задача по математике-2

Входной файл:input.txt   Ограничение времени:1 сек
Выходной файл:output.txt   Ограничение памяти:64 Мб
Максимальный балл:100  

Условие

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

Формат входного файла

Единственная строка входного файла содержит два целых числа A, N, разделённых знаком пробела – числа, которые будут использоваться для очередного варианта контрольной.

Формат выходного файла

В выходной файл нужно вывести одно число B – ответ на задачу Ивана Петровича, которое удовлетворяет условию: выражение AB+A+B делится на N без остатка. Число B должно быть неотрицательным и не превышать 109. Если такого B не найдется – необходимо вывести число 1.

Ограничения

1 ≤ A, N ≤ 109

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
2 4
2
2
3 4
-1

Задача C. Эстафета

Входной файл:input.txt   Ограничение времени:2 сек
Выходной файл:output.txt   Ограничение памяти:256 Мб
Максимальный балл:100  

Условие

В городе N-ске стартует спартакиада школьников, одно из состязаний которой – эстафетный забег на центральном стадионе города. Команда каждой школы состоит из трех человек – один девятиклассник, один десятиклассник и один одиннадцатиклассник. Участники команды будут бежать по очереди, каждый по одному этапу эстафеты. Смена участника в команде происходит, когда предыдущий участник завершает бежать свой круг.

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

Учитель физкультуры Евгений Игоревич первый раз столкнулся с такими правилами на соревнованиях и решил посчитать, на какое место может рассчитывать команда его школы. Сегодня утром на тренировочных забегах он записал времена всех участников. Однако в обработке данных ему требуется помощь, чтобы определить, какое место может занять его команда.

Замечание

В первом примере первая команда получает по одному штрафному баллу на первом и втором круге. К финишу обе команды приходят одновременно, поэтому на третьем этапе обе команды получают нулевое число штрафных баллов. В итоге – вторая команда выигрывает, поскольку сумма ее штрафных баллов равна нулю против двух у первой команды.

Формат входного файла

В первой строке входного файла содержится два целых числа N и I, где N – это количество команд, которые будут принимать участие в забеге, I – номер команды Евгения Игоревича. Все команды пронумерованы числами от 1 до N.

Следующие N строк содержат описание участников соответствующей команды. Каждая строка содержит три целых числа A, B, C – данные о времени участников команды, за которое они утром пробежали круг стадиона, при этом A – время того, кто побежит первый этап, B – время участника второго этапа, C – время третьего.

Формат выходного файла

В выходной файл нужно вывести одно целое число – место, которое займет команда Евгения Игоревича, если участники побегут так же, как в утреннем тренировочном забеге.

Ограничения

1 ≤ I ≤ N ≤ 1000

100 ≤ A, B, C ≤ 200

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
2 1
112 107 101
109 105 106
2
2
3 2
101 100 101
102 100 100
100 101 101
3

Задача D. День рождения силача

Входной файл:input.txt   Ограничение времени:2 сек
Выходной файл:output.txt   Ограничение памяти:256 Мб
Максимальный балл:100  

Условие

Сегодня у силача Ивана из цирка города N-ска день рождения. Иван, как всегда, зашел к своей бабушке подкрепиться и обнаружил, что бабушка испекла огромный круглый торт и положила его на стол. Теперь его необходимо разделить на две части для Ивана и его бабушки.

В семье Ивана принято делить торты одним надрезом большого ножа. После надреза ножом образуется разрез в том месте, где надрезал силач. Разрез представляет собой отрезок, длина которого не больше длины лезвия ножа. Торт оказывается поделен на две части, если разрез соединяет две точки на границе торта. Так как длина ножа фиксирована, возможно, торт не удастся разделить на две равные части за один разрез. Поэтому Иван хочет разделить одним разрезом торт так, чтобы ему с бабушкой достались по возможности наиболее близкие по площади части.

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

Формат входного файла

В первой строке входного файла даны два вещественных числа R и L – радиус торта и длина лезвия соответственно с не более, чем тремя знаками после десятичной точки.

Формат выходного файла

Первая строка выходного файла должна содержать координаты первой точки на границе, вторая строка координаты второй точки. Расстояние от точек до центра должно отличаться от R не более, чем на 106. Расстояние между точками должно отличаться от максимально возможной хорды не превосходящей L не более, чем на 106.

Ограничения

1 ≤ R, L ≤ 1000

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
1.0 2.0
0 -1.0
0 1.0
2
1.0 1.71
-1.0 0
0.46205 0.886853

0.110s 0.004s 19