Решение задачи №1229 «Прямоугольный треугольник» с ACMP





Решение задачи №1229 «Прямоугольный треугольник» с ACMP

Условие задачи

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

Требуется решить данную задачу с использованием теоремы Пифагора, вычислив квадраты длин сторон треугольника и проверив условие: a2+b2=c2. При этом следует описать структуру Point для хранения координат точки на плоскости, а также функцию Side(a,b), вычисляющую квадрат длины отрезка между парой точек.

Входные данные
Во входном файле INPUT.TXT записаны через пробел координаты вершин треугольника в формате x1 y1 x2 y2 x3 y3. Все числа целые, не превосходящие 1000 по абсолютной величине.

Выходные данные
В выходной файл OUTPUT.TXT выведите «Yes», если треугольник является прямоугольным и «No» в противном случае.

#include <iostream>
using namespace std;
int side(int x1,int y1,int x2,int y2)
{
return (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
}
main()
{
int x1,y1,x2,y2,x3,y3,a,b,c;
cin>>x1>>y1>>x2>>y2>>x3>>y3;
a=side(x1,y1,x2,y2);
b=side(x3,y3,x2,y2);
c=side(x1,y1,x3,y3);

cout<<((a+b==c||a+c==b||b+c==a)?"Yes":"No");
}



Условия задач взяты с сайта acmp.ru