[cpp] 描述:把任何一個點當做原點,直接暴就可以暴出來 #include <cstdio> #include <cstdlib> #include <cstring> int main() { //freopen("a.txt","r",stdin); int count,flag,n; char str[1100]; int sum[710][2]; gets(str); sscanf(str,"%d",&n); gets(str); while(n--) { count=1; int p=0; while(gets(str)!=NULL) { if(str[0]=='\0') break; sscanf(str,"%d%d",&sum[p][0],&sum[p][1]); p++; } for(int i=0; i<p; i++) for(int j=i+1; j<p; j++) { int y=sum[i][1]-sum[j][1] , x=sum[i][0]-sum[j][0]; flag=2; for(int k=j+1; k<p; k++) { www.2cto.com int c1=sum[j][1]-sum[k][1],c2=sum[j][0]-sum[k][0]; if(c1*x==y*c2) flag++; } if(flag>count) count=flag; } printf("%d\n",count); if(n) printf("\n"); } return 0; }