求出每条直线的斜率,一一判断相交,每有两条直线相交就减少一条需要的直线.求问为什么这样是错误的(虽然复杂度不对)
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,ans=0,a,b,c,pts=0;
double k[100005];
signed main(){
ios::sync_with_stdio(false);
cin>>n;
ans=n;
for(int i=1;i<=n;i++){
cin>>a>>b>>c;
k[i]=(double)-a/(double)b;
}
for(int i=1;i<=n;i++){
for(int j=i;j<=n;j++){
if(i==j)continue;
if(abs(k[i]-k[j])>0.000000001){
pts++;
if(pts%2==0)ans--;
}
}
}
cout<<ans;
return 0;
}