CF-851B

B. Arpa and an exam about geometry
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

Arpa is taking a geometry exam. Here is the last problem of the exam.

You are given three points a, b, c.

Find a point and an angle such that if we rotate the page around the point by the angle, the new position of a is the same as the old position of b, and the new position of b is the same as the old position of c.

Arpa is doubting if the problem has a solution or not (i.e. if there exists a point and an angle satisfying the condition). Help Arpa determine if the question has a solution or not.

Input

The only line contains six integers ax, ay, bx, by, cx, cy (|ax|, |ay|, |bx|, |by|, |cx|, |cy| ≤ 109). It's guaranteed that the points are distinct.

Output

Print "Yes" if the problem has a solution, "No" otherwise.

You can print each letter in any case (upper or lower).

Examples
input
0 1 1 1 1 0
output
Yes
input
1 1 0 0 1000 1000
output
No
Note

In the first sample test, rotate the page around (0.5, 0.5) by .

In the second sample test, you can't find any solution.

 

 

题意:

求a、b两点转换后能否a->b,b->c。

 

若想实现,则三点不能在一条直线上且两点之间的距离要相等。

 

AC代码:

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 int main(){
 5     ios::sync_with_stdio(false);
 6     long long ax,ay,bx,by,cx,cy;
 7     cin>>ax>>ay>>bx>>by>>cx>>cy;
 8     long long dx=bx-ax,dy=by-ay,ex=cx-bx,ey=cy-by;
 9     if(dx*dx+dy*dy==ex*ex+ey*ey&&dx*ey!=dy*ex)
10     cout<<"Yes"<<endl;
11     else
12     cout<<"No"<<endl;
13     return 0;
14 }

 

posted @ 2017-09-05 21:30  Kiven#5197  阅读(303)  评论(0编辑  收藏  举报