2020年8月3日 星期一

d141: Linearity

解題心得:
看兩條線是否相等,就是列等式看一不一樣。
因為有除以零或者兩點相同的可能,所以把兩邊等式交叉相乘,直接看乘積是否相等。

程式碼:
#include<iostream>
using namespace std;
typedef struct
{
    int x,y;
}Point;
int main()
{
 int cases;
 char ignore;
 cin>>cases;
 while(cases--)
 {
     Point p1,p2,p3;
     cin>>p1.x>>ignore>>p1.y>>p2.x>>ignore>>p2.y>>p3.x>>ignore>>p3.y;
     double m1,m2;
     
     if((p2.y-p1.y)*(p3.x-p2.x)==(p2.x-p1.x)*(p3.y-p2.y))
         cout<<"collinear"<<endl;
     else cout<<"not collinear"<<endl;
 }
 return 0;
}

沒有留言:

張貼留言