aoj0020:Parallelism
解法
1番目の点から2番目の点へ、3番目の点から4番目の点へとベクトルを伸ばす。そして外積の大きさを計算する。その値が0に限りなく近いならば2つのベクトルの成す角は0°か180°であるので平行だと分かる。
コード
#include<bits/stdc++.h> using namespace std; const double EPS=1e-10; double x[4],y[4]; int main(){ int n; cin>>n; while(n--){ for(int i=0;i<4;i++)cin>>x[i]>>y[i]; for(int i=0;i<4;i+=2){ x[i]-=x[i+1];y[i]-=y[i+1]; } if(fabs(x[0]*y[2]-x[2]*y[0])<EPS)cout<<"YES"<<endl; else cout<<"NO"<<endl; } return 0; }