测试数据究竟是什么样子的 。。我程序严格按照说明来的。。。。。。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
using namespace std;
double k[490000];
int main()
{
int n,i,len,j,x[701],y[701],l,max,ans;
char tmp[1000],*tmp2;
scanf("%d",&n);
getchar();
getchar();
while(n>=1)
{
n--;
len=0;
while(gets(tmp))
{
if(tmp[0]==0) break;
tmp2=strtok(tmp," ");
x[len]=atoi(tmp2);
tmp2=strtok(NULL," ");
y[len++]=atoi(tmp2);
}
l=0;
for(i=0;i<len;i++)
for(j=0;j<len;j++)
if(i!=j)
k[l++]=(y[j]-y[i])*1.0/(x[j]-x[i]);
ans=0;
max=0;
sort(k,k+l);
for(i=1;i<l;i++)
if(k[i],k[i-1])
max++;
else
{
if(max>ans) ans=max;
max=0;
}
printf("%d\n",(int)(sqrt(double(ans)))+1);
if(n!=0) printf("\n");
}
return 0;
}
第一组 死也过不了 。。。。。。。测试数据发来看看