CrodeForces 851B--#432 Div2 B

来源:互联网 发布:网络找不到打印机 编辑:程序博客网 时间:2024/06/05 10:48
#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 longusing 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;}
原创粉丝点击