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:给大家个数据,希望有用 Posted by:mickeychen at 2010-04-14 19:53:06 #include<stdio.h> #include<iostream> #include<math.h> #include<algorithm> using namespace std; struct isl { int x,y; }; struct rad { float sta,end; }; bool cmp(rad a,rad b) { if(a.end<b.end) return true; else return false; }; int main() { int n,d; rad rad[1002]; isl isl[1002]; int ymax=0; int i=0; int t=0; while(cin>>n>>d&&(n!=0||d!=0)&&n<=1000&&n>=1) { t++; for(i=0;i<n;++i) { cin>>isl[i].x>>isl[i].y; if(isl[i].y>ymax) {ymax=isl[i].y;} } cout<<" "<<endl; cout<<"Case"<<t<<":"; if(ymax>d||d<0) { return -1; continue; } float len; for(i=0;i<n;++i) { len=sqrt(1.0*d*d-isl[i].y*isl[i].y); rad[i].sta=isl[i].x-len; rad[i].end=isl[i].x+len; } sort(rad,rad+n,cmp); int ans=0; for(i=0;i<n;) { int count=0; for(int j=i+1;j<n;++j) { if(rad[i].end>=rad[j].sta) {++count;} else {break;} } i+=count+1; ans++; } cout << ans << 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