标签:
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<algorithm>
using namespace std;
int cmp(double a,double b)
{
return a>b;
}
double f(double R) //求出每个喷水装置的长度
{
return 2*sqrt((double)(R*R-1));
}
int main()
{
int T,m,i,k;
double sum,t,a[1010];
scanf("%d\n",&T);
while(T--)
{
memset(a,0,sizeof(a));
scanf("%d",&m);
for(i=0,k=0;i<m;i++)
{
scanf("%lf",&t);
if(t>1)
a[k++]=t;//将半径大于一的喷水装置存入数组,装置个数为k
}
sort(a,a+k,cmp);//快排,将喷水装置的覆盖长度,由大到小排序
for(i=0,sum=0.0;i<k;i++)
{
sum+=f(a[i]);
if(sum>=20.0)
{
break;
}
//printf("%d\n",i+1);
}
printf("%d\n",i+1);
}
}
标签:
原文地址:http://www.cnblogs.com/mycapple-zgs-111411/p/4619610.html