View Code of Problem 67

#include <cstdio>
#include <iostream>
#include <cmath>

using namespace std;
const int INF=(1<<30)-1; 
int main(){
	int x1,y1,x2,y2,x3,y3,x4,y4;
	while(cin>>x1>>y1>>x2>>y2>>x3>>y3>>x4>>y4){
		double k1,k2,b1,b2;
		if(abs(x2-x1)==0)
			k1=(double)INF;
		else{
			k1=(y2-y1)*1.0/(x2-x1);
		}
		if(abs(x4-x3)==0)
			k2=(double)INF;
		else{
			k2=(y4-y3)*1.0/(x4-x3);
		}
//		cout<<k1<<":"<<k2<<endl;
		if(k1==k2){
			if(k1==INF){
				if(x1==x3)
					cout<<"Yes"<<endl;
				else
					cout<<"No"<<endl;
			}
			else{
				b1=y1-k1*x1;
				b2=y3-k2*x3;
				if(b1==b2)
					cout<<"Yes"<<endl;
				else
					cout<<"No"<<endl;
			}
		}
			
		else
			cout<<"Yes"<<endl;
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 67