Для удобства необходимо создать классы для хранения базовых примитивов (точка, вектор, отрезок, прямая) и определить необходимые для них операторы.
Даны координаты двух точек. Найдите расстояние между ними.
Ввод | Вывод |
---|---|
0 0 |
1.4142135623730951 |
Даны два числа – координаты точки, не совпадающей с началом координат. Выведите ее полярный угол (величину от 0 до \(2\pi\)).
Ввод | Вывод |
---|---|
2 3 |
0.982793723247329 |
Даны четыре числа: координаты двух невырожденных векторов.
Выведите величину неориентированного угла между ними.
Ввод | Вывод |
---|---|
2 1 |
0.5667292175235064 |
3 3 |
3.141592653589793 |
Даны координаты трёх точек, которые могут лежать на одной прямой и даже совпадать.
Выведите значение площади треугольника с вершинами в данных точках.
Ввод | Вывод |
---|---|
1 0 |
7.0 |
0 0 |
0.0 |
Даны четыре числа: координаты двух ненулевых векторов. Если эти вектора коллинеарны, выведите 1. Если эти вектора перпендикулярны, выведите 2. Иначе выведите 0.
В этой задаче нельзя использовать обратные тригонометрические функции.
Ввод | Вывод |
---|---|
1 1 |
1 |
0 1 |
2 |
1 2 |
0 |
Программа получает на вход шесть чисел: координаты трех точек.
Программа должна вывести YES
, если эти точки лежат на одной прямой, или
NO
в противном случае.
Ввод | Вывод |
---|---|
0 0 |
YES |
Программа получает на вход шесть чисел: координаты точки и координаты начала и конца вектора. Проверьте, принадлежит ли данная точка лучу, задаваемому данным вектором.
Программа должна вывести YES
, если точка принадлежит лучу, или
NO
в противном случае.
Ввод | Вывод |
---|---|
1 6 |
NO |
Программа получает на вход шесть чисел: координаты точки и координаты концов отрезка. Проверьте, принадлежит ли данная точка данному отрезку.
Программа должна вывести YES
, если точка принадлежит отрезку, или
NO
в противном случае.
Ввод | Вывод |
---|---|
3 3 |
YES |
Дано шесть чисел: координаты точки, координаты начала и конца вектора.
Программа должна вывести единственное число: расстояние от точки до луча, заданного вектором.
Ввод | Вывод |
---|---|
2 1 |
1.0 |
Дано шесть чисел: координаты точки и координаты двух концов отрезка.
Программа должна вывести единственное число: расстояние от данной точки до данного отрезка.
Ввод | Вывод |
---|---|
0 4 |
2.0 |
Дан угол AOB (O - вершина угла, A и B - точки на сторонах) и точка P. Определите, принадлежит ли точка P углу AOB (включая его стороны: лучи OA и OB).
Программа получает на вход координаты точек A, O, B, P. Все координаты - целые, не превосходят 100 по модулю. Точки A, O, B не лежат на одной прямой.
Программа должна вывести слово YES или NO.
Ввод | Вывод |
---|---|
0 1 |
YES |
1 0 |
NO |
Даны два луча: AB и CD (A и C - вершины лучей, B и D лежат на лучах). Проверьте, пересекаются ли они.
Программа получает на вход координаты точек A, B, C, D. Все координаты - целые, не превосходят 100 по модулю.
Программа должна вывести слово YES или NO.
Ввод | Вывод |
---|---|
0 1 |
YES |
0 0 |
NO |
Даны два отрезка AB и CD. Проверьте, пересекаются ли они.
Программа получает на вход координаты точек A, B, C, D. Все координаты - целые, не превосходят 100 по модулю.
Программа должна вывести слово YES или NO.
Ввод | Вывод |
---|---|
5 1 |
YES |