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 |
这题的官方数据在哪儿?In Reply To:这道题的onlinejudge有bug Posted by:coast at 2007-08-20 17:33:24 > 这样的代码也通过了 > 我开始做错了 > 但还ac了 > include<iostream.h> > struct pis{ //点的位置 > int x; > int y; > }; > pis* p; > int work(pis *,int,int,int); //核心算法 > void main() > { > int n; > cin>>n; > while(n--) > { > int m,a; > cin>>m>>a; > p=new pis[m]; > int i=0; > while(i<m) > { > cin>>p[i].x>>p[i].y; > i++; > } > int max=0; > i=0; > while(i<m) > { > int temp=work(p,i,m,a); > if(temp>max) > max=temp; > i++; > } > cout<<max<<endl; > delete p; > } > } > int work(pis* p,int i,int m,int a) > { > int max=0; > int dec=0; > pis fix; > fix.x=p[i].x; > fix.y=p[i].y; > while(dec<4) > { > int count=0; > if(dec==0) > { > for(int j=0;j<m;j++) > { > if(p[j].x>=fix.x&&p[j].y>=fix.y&&p[j].x<=fix.x+a&&p[j].y<=fix.y+a) > count++; > } > } > if(dec==1) > { > for(int j=0;j<m;j++) > { > if(p[j].x>=fix.x&&p[j].y<=fix.y&&p[j].x<=fix.x+a&&p[j].y>=fix.y-a) > count++; > } > } > if(dec==2) > { > for(int j=0;j<m;j++) > { > if(p[j].x<=fix.x&&p[j].y<=fix.y&&p[j].x>=fix.x-a&&p[j].y>=fix.y-a) > count++; > } > } > if(dec==3) > { > for(int j=0;j<m;j++) > { > if(p[j].x<=fix.x&&p[j].y>=fix.y&&p[j].x>=fix.x-a&&p[j].y<=fix.y+a) > count++; > } > } > if(count>max) > max=count; > dec++; > } > return max; > } > Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator