NYOJ 贪心 喷水装置二

来源:互联网 发布:内衣淘宝店铺名字大全 编辑:程序博客网 时间:2024/04/29 22:19
<pre class="csharp" name="code">#include<stdio.h>#include<math.h>#include<stdlib.h>struct num{//结构体 double x,y;}q[10000];int cmp(const void *a,const void *b){//排序 if((*(num *)a).x==(*(num *)b).x)return (*(num *)a).y-(*(num *)b).y;elsereturn (*(num *)a).x-(*(num *)b).x;} int pan(double e,int c){//计算函数 double max=0,b=0;int s=0;while(b<e){max=0;for(int k=0;k<c&&q[k].x<=b;++k){if(q[k].y-b>max)     max=q[k].y-b;}if(0==max) return 0;b=b+max;s++;} return s;}int main(){int N,num;int n,length,wide,c;int x,r;scanf("%d",&N);while(N--){c=0;scanf("%d %d %d",&n,&length,&wide);for(int i=0;i<n;i++){scanf("%d %d",&x,&r);if(r*2>=wide){double t=sqrt((double)(r*r-wide*wide/4));q[c].x=x-t;//得到区间 q[c++].y=x+t;}}qsort(q,c,sizeof(q[0]),cmp);num=pan(length,c);printf("%d\n",num);}return 0;}


                                             
0 0
原创粉丝点击