【C++|C++浇水装置问题】
文章图片
文章图片
文章图片
//Author:PanDaoxi
/*
#include
#include
#include
#include
#include
*/
#include
using namespace std;
double Length(double R,double b){
return sqrt(R*R-b*b/4)*2;
//求内接矩阵的长度
}
int main(){
int n;
const double l=20,w=2;
cin>>n;
//处理n组数据
while(n--){
int m;
double R;
cin>>m;
vector Rs;
//动态数组
while(m--){
cin>>R;
Rs.push_back(R);
//把R放入数组
}
sort(Rs.begin(),Rs.end(),greater());
double sum=0;
int i;
for(i=0;
i!=Rs.size();
i++){ //遍历动态数组长度
if(sum>l) break;
//判断是否完全覆盖草坪
sum+=Length(Rs[i],w);
//计算内接矩阵的长度
}
cout<