hdu 1969 二分

参考博客:

题意:

一个人要办生日part,有f个馅饼,n个朋友要来参加他的生日part,我们要做的是让着f个馅饼平均分给他的朋友,
形状可以不一样,但是大小要一样,也就是说馅饼的体积要一样,这馅饼的高都为1。这个简单,但是题目要求不能分
从一块一块的凑出来的馅饼。

代码:
#include<stdio.h>
#include<cmath>
#define PI acos(-1);
using namespace std;
double v[10005];
int main()
{
    int T,n,f,ri;
    double l,r,mid,sum;
    scanf("%d",&T);
    while(T--)
    {
        r=l=0;
        scanf("%d %d",&n,&f);
        f++;
        for(int i=0;i<n;i++)
        {
            scanf("%d",&ri);
            v[i]=ri*ri*PI;
            r+=v[i];
        }
        r/=f;
        while(r-l>=1e-6)
        {
            sum=0;
            mid=(l+r)/2.0;
            for(int i=0;i<n;i++)
            {
                sum+=(int)(v[i]/mid);
            }
            if(sum>=f)
                l=mid;
            else
                r=mid;
        }
        printf("%.4f
",mid);
    }
}
原文地址:https://www.cnblogs.com/linhaitai/p/9801179.html