#include#include using namespace std; const int maxn = 1005; struct Point{ int x; int y; }p[maxn]; int main(){ int n; while(scanf("%d",&n)!=EOF){ int i; for(i = 0 ; i < n ; ++i){ scanf("%d%d",&p[i].x,&p[i].y); } int j,k; int temp; int Max = -100; for(i = 0 ; i < n ; ++i){ for(j = i+1 ; j < n ; ++j){ temp = 0; for(k = j+1 ; k < n ; ++k){ int a = (p[i].x - p[k].x)*(p[j].y - p[k].y); int b = (p[i].y - p[k].y)*(p[j].x - p[k].x); if(a == b){//如果三个点共线,则他们的斜率相同... temp++; } } Max = (Max > temp) Max:temp; } } printf("%d\n",Max+2); } return 0; }