#include <iostream>
#include <cstdio>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <deque>
#include <vector>
#include <queue>
#include <string>
#include <cstring>
#include <map>
#include <stack>
#include <set>
#include <list>
#define INF 0x3f3f3f
#define maxn 1050
#define juzheng 300
#define ll long long
using namespace std;
//Date:2017-9-5
//Author:HarryBlackCat
int ax,ay,bx,by,cx,cy;
bool dequals(double a, double b){
return fabs(a-b) < 0.0000000001;
}
bool check(double k,double b,int x,int y){
return dequals(y * 1.0,k * (x * 1.0) + b);
}
int main(){
while(~scanf("%d %d %d %d %d %d",&ax,&ay,&bx,&by,&cx,&cy)){
double k1 = ((ay - by) * 1.0) / ((ax - bx) * 1.0);//求斜率
double b1 = ay * 1.0 - k1 * ax;
if(check(k1,b1,cx,cy)){//如果三个点在一条直线上不成立 斜着的情况
printf("No\n");
continue;
}
else if(ax == bx && bx == cx){//横着的情况
printf("No\n");
continue;
}
else if(ay == by && by == cy){//竖着的情况
printf("No\n");
continue;
}
//求ab,bc
double ab = sqrt((ax * 1.0 - bx * 1.0) * (ax * 1.0 - bx * 1.0) + (ay * 1.0 - by * 1.0) * (ay * 1.0 - by * 1.0));
double bc = sqrt((bx * 1.0 - cx * 1.0) * (bx * 1.0 - cx * 1.0) + (by * 1.0 - cy * 1.0) * (by * 1.0 - cy * 1.0));
//判断bc是否等于ab
if(dequals(ab,bc))
printf("Yes\n");
else
printf("No\n");
}
return 0;
}
CrodeForces 851B--#432 Div2 B
最新推荐文章于 2022-03-09 11:21:24 发布