LA 3635
来源:互联网 发布:淘宝网图书人性的弱点 编辑:程序博客网 时间:2024/06/05 17:02
题干:
大意是f+1个人来分n个圆形派(每个的大小不一定相同)。每个人必须分得一整块,而且每个人分得的面积相同。求每个人分得的最大面积是多少。
分析:
看了看书上的分析,就是采用二分法,查找到合适的面积x,使得问题转化为“能否可以让每人得到一块x的派”。
代码:
#include <string.h>#include <iostream>#include <algorithm>#include <math.h>using namespace std;const int maxn = 10010;double num[maxn];int n,f;const double PI = acos(-1.0);bool ok(double m)//判断是否满足面积为x的时候,有足够的派分给f+1个人{ int sum = 0; for(int i = 0;i < n;i++) { sum += floor(num[i] / m); } return sum >= (f + 1);}int main(){ int T; cin>>T; while(T--) { memset(num,0,sizeof(num)); scanf("%d%d",&n,&f); int x; double maxa = -1; for(int i = 0;i < n;i++) { cin >> x; num[i] = PI * x * x; maxa = max(maxa,num[i]); } double mina = 0; while(maxa - mina > 1e-5) { double M = (maxa + mina) / 2; if(ok(M)) mina = M; else maxa = M; } printf("%.4lf\n",mina); } return 0;}
0 0
- La 3635
- LA 3635
- LA 3635
- LA 3635 Pie
- LA 3635 - Pie 【二分】
- LA 3635 Pie (二分)
- LA 3635 Pie 派
- LA 3635(p30)----Pie
- la la la, la la la
- 二分(派,LA 3635)
- 派(Pie,NWERC 2006,LA 3635)
- UVA 12097 Pie LA 3635 (二分)
- 二分法-派(Pie, NWERC 2006, LA 3635)
- LA 3942
- LA 4670
- LA 3135
- LA 3644
- LA 3027
- matlab中all和any用法
- Java允许使用被禁止的类
- 1038. 统计同成绩学生
- Hadoop中伪分布的搭建
- 当前上下文中不存在名称"xxx"
- LA 3635
- 基础平台研发
- Java获取类、方法、属性上的注解
- 招聘要求
- 摆方格(数学)
- ios 各种项目源码
- Android实现类似ios滑动按钮
- Centos7.2搭建JDK、Tomcat、MySql环境
- 二叉树的遍历