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 }
  • 相关阅读:
    激光雷达的数学模型
    TX2刷机踩坑
    rplidar S1测试
    cartographer 调参(2)-ROS API 文档
    ROS 包制作
    Python 文件操作
    V-REP远程控制--Python版
    V-REP 喷涂仿真
    Jeston TX2 备份
    Anaconda jupyter-notebook 添加kernel
  • 原文地址:https://www.cnblogs.com/wanglin2011/p/2920635.html
Copyright © 2011-2022 走看看