POJ 1118
#include<iostream> #include<set> #include<stdio.h> #include<math.h> #include<algorithm> #define MAXN 705 using namespace std; int num; double p[MAXN][2]; double a[MAXN*MAXN]; set<int> coll; set<int>::iterator pos; multiset<int> coll_main; int main() { //freopen("acm.acm","r",stdin); int i; int max; int j; int k; int t; double value; int num; double s2; while(1) { scanf("%d",&num); if(num == 0) break; max = 0; for(i = 0; i < num; ++ i) { scanf("%lf%lf",&p[i][0],&p[i][1]); } for(i = 0; i < num; ++ i) { k = 0; for(j = 0; j < num; ++ j) { if(i != j) { value = (p[i][0] - p[j][0]) / (p[i][1] - p[j][1]); a[k] = value; ++ k; } } ////////////////////////////////////// sort(a,a + k); s2 = a[0]; j = 0; for(t = 0; t < k; ++ t) { if(a[t] == s2) ++ j; else { if(j > max) { max = j; } s2 = a[t]; -- t; j = 0; } } if(j > max) max = j; // cout<<max<<endl; //while(1) //{ // if(i*(i-1) == 2*max) // { // cout<<i<<endl; // break; // } // ++ i; //} } ++max; // cout<<max<<"======="<<endl; //cout<<int((1+(int)(sqrt(long double(1+8*max))+0.5))/2.0)<<endl; cout<<max<<endl; } }
关注我的公众号,当然,如果你对Java, Scala, Python等技术经验,以及编程日记,感兴趣的话。
技术网站地址: vmfor.com