题目:http://poj.org/problem?id=3122
题意:
就是公平地分披萨pie
我生日,买了n个pie,找来f个朋友,那么总人数共f+1人
每个pie都是高为1的圆柱体,输入这n个pie的每一个尺寸(半径),如果要公平地把pie分给每一个人(就是所有人得到的pie尺寸一致,但是形状可以不同),而且每个人得到的那份pie必须是从同一个pie上得到的
代码:
View Code
1 #include2 #include 3 #include 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 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 =m+1)37 low=mid;38 else39 high=mid;40 }41 printf("%.4f\n",mid*pi);42 }43 return 0;44 }