欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

喷水装置(一)

程序员文章站 2022-03-25 22:59:35
...

喷水装置(一)


#include<stdio.h>
#include<math.h>
void quick_sort(double s[], int l, int r)
{
    if (l < r)
    {
        double x = s[l];
        int i = l, j = r;
        while (i < j)
        {
            while(i < j && s[j] >= x)
                j--;
            if(i < j)
                s[i++] = s[j];

            while(i < j && s[i] < x)
                i++;
            if(i < j)
                s[j--] = s[i];
        }
        s[i] = x;
        quick_sort(s, l, i - 1); // 递归调用  分治思想   左边分治
        quick_sort(s, i + 1, r);    //右边分治
    }
}
int main()
{
    int m, n;
    scanf("%d",&m);
    while (m--)
    {
        scanf("%d",&n);
        int i;
        double a[600];
        for (i = 0; i < n; i++)
            scanf("%lf",&a[i]);
        quick_sort(a, 0, n - 1);
        double length = 0;
        int num = 0;
        for (i = n - 1; i >= 0; i--)
        {
            if (length < 20)
            {
                length = length + sqrt(a[i]*a[i] - 1) * 2.0;
                num++;
            }
        }
        printf("%d\n",num);
    }
    return 0;
}