问题 A: 喷水装置(一)
生活随笔
收集整理的這篇文章主要介紹了
问题 A: 喷水装置(一)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目描述
現(xiàn)有一塊草坪,長為20米,寬為2米,要在橫中心線上放置半徑為Ri的噴水裝置, 每個噴水裝置的效果都會讓以它為中心的半徑為實(shí)數(shù)Ri(0<Ri<15)的圓被濕潤,這有充足的噴水裝置i(1<i<600) 個,并且一定能把草坪全部濕潤,你要做的是:選擇盡量少的噴水裝置,把整個草坪的全部濕潤。輸入
第一行m表示有m組測試數(shù)據(jù)每一組測試數(shù)據(jù)的第一行有一個整數(shù)數(shù)n,n表示共有n個噴水裝置,隨后的一行,有n個實(shí)數(shù)ri,ri表示該噴水裝置能覆蓋的圓的半徑。
輸出
輸出所用裝置的個數(shù)樣例輸入
2 5 2 3.2 4 4.5 6 10 1 2 3 1 2 1.2 3 1.1 1 2樣例輸出
2 5 1 #include<stdio.h> 2 #include<math.h> 3 #define N 600 4 float a[N]; 5 6 int main( ) { 7 int m, sum, i, j; 8 float temp, l; 9 scanf("%d", &m); 10 while(m--) { 11 int n; 12 scanf("%d", &n); 13 for(i = 0; i < n; i ++) 14 scanf("%f", &a[i]); 15 for(i = 0; i < n; i ++) //從小到大排序(冒泡排序) 16 for(j = i + 1; j < n;j ++) 17 if(a[i] > a[j]) { 18 temp = a[i]; 19 a[i] = a[j]; 20 a[j] = temp; 21 } 22 l = 20; 23 sum = 0; 24 for(i = n - 1; l >= 0; i--) { 25 l = l - 2 * sqrt(a[i] * a[i] - 1); 26 sum ++; 27 } 28 printf("%d\n", sum); 29 } 30 return 0; 31 } View Code?
轉(zhuǎn)載于:https://www.cnblogs.com/tong69/p/5798771.html
總結(jié)
以上是生活随笔為你收集整理的问题 A: 喷水装置(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring--(4)级联属性赋值
- 下一篇: MySQL3次导入报错解决!