POJ1118

#include <iostream>

using namespace std;

struct point
{
  int x;
  int y;
}P[705];
int n,sum,tol;

int main()
{
  int i,j,k;
  while(cin>>n,n)
  {
  tol=0;
  for(i=0;i<n;i++)
    cin>>P[i].x>>P[i].y;
  for(i=0;i<n;i++)
  {
    for(j=i+1;j<n;j++)
      {
        sum=0;
        for(k=j+1;k<n;k++)
        {
          if((P[j].x-P[i].x)*(P[k].y-P[i].y)==(P[k].x-P[i].x)*(P[j].y-P[i].y))
            {
              sum++;
            }
        }
        if(tol<sum)
        tol=sum;
      }
  }
  tol=tol+2;
  cout<<tol<<endl;
  }
return 0;
}

posted @ 2013-05-10 15:40  algorithms爱好者  阅读(63)  评论(0)    收藏  举报