题意:
一个人要办生日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); } }