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 |
Re:哪位大牛帮我看看到底错哪里了?为什么所有数据测出来都是对的交上去是WAIn Reply To:哪位大牛帮我看看到底错哪里了?为什么所有数据测出来都是对的交上去是WA Posted by:Hankauk at 2011-11-25 21:10:17 > #include <iostream> > #include<cmath> > #include<algorithm> > #include<stdio.h> > using namespace std; > struct dot > { > double x1; > double x2; > }radar[1009]; > bool cmp(dot a,dot b) > { > return a.x1<b.x1; > } > int main() > { > freopen("in.txt","r",stdin); > double s; > int n,d,i; > int j=0; > int sum,flag; > double dots[1009][2]; > while(cin>>n>>d&&n+d>0) > { > flag=1;sum=1; > if(d<0) flag=0; > for(i=0;i<n;i++) > cin>>dots[i][0]>>dots[i][1]; > for(i=0;i<n;i++) > if(dots[i][1]>d) > flag=0; > if(flag==0) > { > j++; > cout<<"case "<<j<<": "<<"-1"<<endl; > continue; > } > for(i=0;i<n;i++) > { > s=sqrt(d*d-dots[i][1]*dots[i][1]); > radar[i].x1=dots[i][0]-s; > radar[i].x2=dots[i][0]+s; > } > sort(radar,radar+n,cmp); > for(flag=0,i=1;i<n;i++) > { > if(radar[flag].x2>=radar[i].x1) > { > if(radar[i].x2<=radar[flag].x2) > flag=i; > } > if(radar[flag].x2<radar[i].x1) > { > flag=i; > sum++; > } > } > j++; > cout<<"case "<<j<<": "<<sum<<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