poj3122

来源:互联网 发布:js清空input内容兼容ie 编辑:程序博客网 时间:2024/04/30 09:29
#include <iostream>#include <cstdio>#include <cmath>double pi=acos(-1.0),eps=1e-6;  /*pi的取值*/int t;long long pie[10005];using namespace std;bool div(double s,int n,int f){    double nn=0;    for (int i=1;i<=n;i++) nn+=floor(pie[i]/s);    return nn>=f;}int main(){  // freopen("in.txt","r",stdin);    cin>>t;    for (int i=1;i<=t;i++)    {        int n,f;        cin>>n>>f;        f++;        int ms=0;        for (int j=1;j<=n;j++)        {            cin>>pie[j];            pie[j]=pie[j]*pie[j];            if (ms<pie[j]) ms=pie[j];        }        double left=0,right,mid;        right=ms;        while (right-left>eps)        {           mid=(left+right)/2;           if (div(mid,n,f)) left=mid;/*查找值在中间值或在中间值的右边,则left=mid*/           else right=mid;        }        printf("%.4lf\n",right*pi);  /*返回right*/    }    return 0;}
过生日请了f 个朋友来参加我的生日party,m个蛋糕,我要把它平均分给每个人(包括我),并且每个人只能从一块蛋糕得到自己的那一份,并且分得的蛋糕大小要一样,形状可以不一样,每块蛋糕都是圆柱,高度一样。
0 0
原创粉丝点击