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了有WA,为什么啊?在ZJU就能过#include <iostream> #include <math.h> #include <stdlib.h> #define MX 1005 using namespace std; double l[MX],r[MX];//左右交点 int num[MX];//索引数组 void mysort(int n) { int i,j,p,tmp; double min; for (i=0; i<n-1; i++) { min=r[num[i]]; p=i; for (j=i+1; j<n; j++) { if (min>r[num[j]]) { min=r[num[j]]; p=j; } } if (min<r[num[i]]) { tmp=num[i]; num[i]=num[p]; num[p]=tmp; } } } inline bool change(double &a, double &b, double r) { double tmp; if (b>r) return false; tmp=sqrt(r*r-b*b); b=tmp+a; a=-tmp+a; return true; } void main() { int i,n,ks=1,radars; double d,now; while (cin>>n>>d && n) { radars=0; for (i=0; i<n; i++) { cin>>l[i]>>r[i];//由坐标计算过该点的圆在X轴上圆心的范围,便于贪心 if (!change(l[i], r[i], d)) { radars=-1; break; } num[i]=i; } if (radars!=-1) { mysort(n);//排序 now=l[num[0]]-1; for (i=0; i<n; i++) { if (now<l[num[i]]) { now=r[num[i]]; radars++; } } } cout<<"Case "<<ks++<<": "<<radars<<endl; } } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator