2021.10.28 记录 暴力法题目 最佳射击

int n,m;
cin>>n;
int x[55],y[55];
for(int i =0;i<n;i++){
    cin >> x[i];
}
    for(int i =0;i<n;i++){
    cin >> y[i];
}
if(n <=3) {
    cout << n;
    return 0;
}
int Max = -1;
for(int i = 0;i < n;i++){
    for(int j = 0; j< n;j++){
        if(j==i)
            continue;
        for(int k = 0;k <n;k++){
            if(k==i||k==j)
                continue;
            m = 0;
            for(int l = 0;l<n;l++){
                if(l==i||l==j||l==k)
                    continue;
                if((x[i]-x[j])*(x[k]-x[l])==-(y[i]-y[j])*(y[k]-y[l]))
					m++;//如果四个点相互构成的直线能两两垂直,数量+1
				else if((x[i]-x[l])*(y[l]-y[j])==(y[i]-y[l])*(x[l]-x[j]))
					m++;//如果这个点在这之前构成的直线上,那么也是成立的,数量+1
            }
            Max = max(Max,m);
        }
    }
}
cout << Max+3;
return 0;

**

核心代码 这块写错了

                    if((x[i]-x[j])*(x[k]-x[l])==-(y[i]-y[j])*(y[k]-y[l]))
					m++;//如果四个点相互构成的直线能两两垂直,数量+1
				else if((x[i]-x[l])*(y[l]-y[j])==(y[i]-y[l])*(x[l]-x[j]))
					m++;//如果这个点在这之前构成的直线上,那么也是成立的,数量+1**
                    
    
    

参考链接https://blog.csdn.net/basketball616/article/details/86696071