Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
谁有测试数据,我不知道哪里错了#include <iostream> using namespace std; struct point { int x; int y; }; struct nnn { int di; int a; int b; }; int count; point *p; int inline dis(int i,int j) { return (p[i].x-p[j].x)*(p[i].x-p[j].x)+(p[i].y-p[j].y)*(p[i].y-p[j].y); } bool inline cm(int a,int b) { return a==b || a== (b<<1) ; } int inline compare(const void *a,const void *b) { nnn *aa=(nnn *)a,*bb=(nnn *)b; int tmp=(aa->di-bb->di); if(tmp!=0) return tmp; tmp=aa->a-bb->a; if(tmp!=0) return tmp; return aa->b-bb->b; } int main() { int n; int ba=0; int re[100]; while(cin>>n,n!=0) { p=new point[n]; for(int i=0;i<n;i++) { cin>>p[i].x>>p[i].y; } count=0; int cc=n*(n-1); nnn *dd=new nnn[n*(n-1)]; int *pp=new int[n]; for (i=0;i<n;i++) { for(int j=0;j<n;j++) { if(i==j) continue; dd[count].a=i; dd[count].b=j; dd[count++].di=dis(i,j); } } qsort( (void *)dd , cc , sizeof(nnn),compare); count=0; for(i=0;i<cc;) { int tmp=0; int now=dd[i].di,nowa=-1; int j=i; for(int k=0;k<n;k++) { pp[k]=-1; } while(dd[j].di==now) { //cout<<dd[j].di<<" "<<dd[j].a<<" "<<dd[j].b<<endl; if(nowa!=dd[j].a) { nowa=dd[j].a; pp[nowa]=j; //cout<<nowa<<" "<<j<<" "; } j++; tmp++; } //cout<<endl; if(tmp>3) { int begin,end1,end2,end3; for(int k1=i;k1<j;k1++) { begin=dd[k1].a; end1=dd[k1].b; if(pp[end1]==-1) continue; for(int k2=pp[end1];dd[k2].a==end1;k2++) { end2=dd[k2].b; if(end2==begin) continue; if(pp[end2]==-1) continue; for(int k3=pp[end2];dd[k3].a==end2;k3++) { end3=dd[k3].b; if(end3==end1) continue; if(pp[end2]==-1) continue; for(int k4=pp[end3];dd[k4].a==end3;k4++) { if(dd[k4].b==begin) { count++; break; } } } } } } i=j; } delete[] pp; delete[] dd; delete[] p; count/=8; re[ba++]=count; //cout<<count<<endl; } for(int h=0;h<ba;h++) cout<<re[h]<<endl; return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator