#include<iostream> using namespace std; // typedef struct // { // /* data */ // } P; int main() { double x1,x2,x3,x4,y1,y2,y3,y4; while( cin>>x1>>y1 ) { cin>>x2>>y2>>x3>>y3>>x4>>y4; int flag = 0;//不相交 //首先判断两条线是否垂直的 if( x1==x2 && x3==x4 ) { //有两种情况 //1.相交 if( x1==x3 )flag = 1; } //斜率是否为0 else if( y1 == y2 && y3 == y4 ) { if( y1 == y3 )flag =1 ; } else { //再考虑一种就可以了 double d1,d2; if( x1==x2 ) { if( x3!=x4 ) { flag = 1 ; } }else if ( x3==x4 ) { if( x1!=x2 ) flag = 1; } else { d1=(y1-y2)/(x1-x2)*1.0; d2=(y3-y4)/(x3-x4)*1.0; // cout<<"d1="<<d1<<" "<<"d2="<<d2<<endl; if( d1 != d2 )flag = 1; } } if( flag )cout<<"Yes"<<endl; else cout<<"No"<<endl; } } |
Double click to view unformatted code.