nyoj 6 喷水装置(一)

来源:互联网 发布:英雄382美工钢笔 编辑:程序博客网 时间:2024/05/16 15:57

分析:想要完整覆盖,需要两个圆相交,得到有效的距离为下图中红线段,即:x=sqrt(r*r-1*1)


#include<iostream>#include<cstdio>#include<cstring>#include <cmath>#include <algorithm>using namespace std;const int NUM=605;double a[NUM];bool comp(double A,double B){if(A>B)return 1;else return 0;}int main(){int m,n,i,k;double sum,ans;cin>>m;while(m--){cin>>n;for(i=0;i<n;i++)cin>>a[i];sort(a,a+n,comp);sum=0;for(i=0;i<n;i++){//if(a[i]<1) continue;ans=(double)2*sqrt(a[i]*a[i]-1);sum+=ans;if(sum>=20.0) break;}cout<<i+1<<endl;}return 0;}


原创粉丝点击