Div#432B Arpa and an exam about geometry

来源:互联网 发布:阿里云 80端口 编辑:程序博客网 时间:2024/06/15 16:09

严格的证明下这道题吧(强迫症,不说清楚难受= =)

题目:二维坐标系中给出三个点A B C,问是否存在一个旋转中心点D,使ABC同时绕D旋转后,能使A到达原来的B点,B到达原来的C点。

题解:只需AB线段长度=BC。

证明:若ABC共线,不存在D点,无解。

若不共线,则ABC共圆,此时只可能绕圆心旋转,否则点会转出此圆,不可能满足题意。转过一个角度,若能使A到达原来的B点,B到达原来的C点,那么A,B两点与圆心连线转过圆心角相等,那么弧长AB=BC,那么必有弦长AB=BC。证毕。

AC代码:

#include<bits/stdc++.h>using namespace std;int main(){long long ax, ay, bx, by, cx, cy;cin >> ax >> ay >> bx >> by >> cx >> cy;if ((ax - bx)*(by - cy) == (ay - by)*(bx - cx))cout << "No";else if ((ax - bx)*(ax - bx) + (ay - by)*(ay - by) == (bx - cx)*(bx - cx) + (by - cy)*(by - cy))cout << "Yes";else cout << "No";}



阅读全文
0 0
原创粉丝点击