如果(y3-y1)/(x3-x1)==(x3-x1)/(y2-y1)则三点共线
#include<iostream>
using namespace std;
const int N = 750;
int n;
int x[N], y[N];
int maxx = 0;
int main() {
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> x[i] >> y[i];
}
for (int i = 1; i <= n; i++) {
for (int j = i + 1; j <= n; j++) {
int ans = 2;
for (int k = 1; k <= n; k++) {
if (k != i && k != j) {
if ((y[k] - y[i]) * (x[j] - x[i]) == (y[j] - y[i]) * (x[k] - x[i])) ans++;
}
}
maxx = max(maxx, ans);
//cout << ans << endl;
}
}
cout << maxx << endl;
return 0;
}
太有水准了,不会,,,