NYOJ-6:噴水装置(一)
6945 ワード
噴水装置(一)
出典:NYOJ
ラベルラベル:ソート、欲張りアルゴリズム
参考資料:
類似タイトル:https://blog.csdn.net/wingrez/article/details/82012429
タイトル
従来の芝生は、長さが20メートル、幅が2メートルで、横中心線上に半径Riの噴水装置を置くと、噴水装置ごとにその中心の半径を実数Ri(0)にする効果がある.
入力
第1行mは、m組の試験データを示す各組の試験データの第1行には整数数nがあり、nはn個の噴水装置が共有され、その後の行にはn個の実数riがあり、riはこの噴水装置がカバーできる円の半径を示す.
しゅつりょく
出力に使用するデバイスの個数
入力サンプル
2 5 2 3.2 4 4.5 6 10 1 2 3 1 2 1.2 3 1.1 1 2
出力サンプル
2 5
問題を解く構想.
別のブログを参照してください.https://blog.csdn.net/wingrez/article/details/82012429
リファレンスコード
出典:NYOJ
ラベルラベル:ソート、欲張りアルゴリズム
参考資料:
類似タイトル:https://blog.csdn.net/wingrez/article/details/82012429
タイトル
従来の芝生は、長さが20メートル、幅が2メートルで、横中心線上に半径Riの噴水装置を置くと、噴水装置ごとにその中心の半径を実数Ri(0)にする効果がある.
入力
第1行mは、m組の試験データを示す各組の試験データの第1行には整数数nがあり、nはn個の噴水装置が共有され、その後の行にはn個の実数riがあり、riはこの噴水装置がカバーできる円の半径を示す.
しゅつりょく
出力に使用するデバイスの個数
入力サンプル
2 5 2 3.2 4 4.5 6 10 1 2 3 1 2 1.2 3 1.1 1 2
出力サンプル
2 5
問題を解く構想.
別のブログを参照してください.https://blog.csdn.net/wingrez/article/details/82012429
リファレンスコード
#include
#include
#include
#define MAXN 605
using namespace std;
double arr[MAXN];
bool cmp(double a,double b){
return a>b;
}
int main(){
int m;
scanf("%d",&m);
while(m--){
int n;
scanf("%d",&n);
int i,j;
for(i=0;i<n;i++)
scanf("%lf",&arr[i]);
sort(arr,arr+n,cmp);
int ans=0;
double len=0;
for(i=0;i<n;i++){
if(arr[i]>1){
len=len+(sqrt(arr[i]*arr[i]-1))*2;
ans++;
if(len>=20) break;
}
else break;
}
printf("%d
",ans);
}
return 0;
}