zoukankan      html  css  js  c++  java
  • poj 3122 Pie (二分)

    题目:http://poj.org/problem?id=3122

    题意:

    就是公平地分披萨pie

    我生日,买了n个pie,找来f个朋友,那么总人数共f+1人

    每个pie都是高为1的圆柱体,输入这n个pie的每一个尺寸(半径),如果要公平地把pie分给每一个人(就是所有人得到的pie尺寸一致,但是形状可以不同),而且每个人得到的那份pie必须是从同一个pie上得到的


    代码:

    View Code
     1 #include <iostream>
     2 #include<cstdio>
     3 #include<cmath>
     4 using namespace std;
     5 const double esp=1e-6;
     6 const double pi=3.14159265359;
     7 int main()
     8 {
     9     int t;
    10     scanf("%d",&t);
    11     while(t--)
    12     {
    13         int n,m;
    14         double a[10010];
    15         int i;
    16         scanf("%d%d",&n,&m);
    17         double high=0;
    18         double low=0;
    19         for(i=0;i<n;i++)
    20         {
    21             scanf("%lf",&a[i]);
    22             a[i]*=a[i];
    23             if(a[i]>high)
    24             high=a[i];
    25         }
    26         double mid;
    27 
    28         while(high-low>esp)
    29         {
    30             mid=(low+high)/2;
    31             int num=0;
    32             for(i=0;i<n;i++)
    33             {
    34                 num+=(int)a[i]/mid;
    35             }
    36             if(num>=m+1)
    37             low=mid;
    38             else
    39             high=mid;
    40         }
    41         printf("%.4f\n",mid*pi);
    42     }
    43     return 0;
    44 }
  • 相关阅读:
    RF中selenium2Library的关键字--BrowserManagement
    excle脚本驱动+动态执行case
    unittest+HTMLtestrunner+SMTP发送邮件
    01.微博三方登录原理讲解
    图片验证码接口
    编写注册接口
    jwt安装配置
    jwt原理
    vue组件
    使用axios实现登录功能
  • 原文地址:https://www.cnblogs.com/wanglin2011/p/2920635.html
Copyright © 2011-2022 走看看