poj3122 pie
2024-08-27 05:36:53
方法:二分。
题目意思:要过生日了,我请大家吃pie,然后人数一共是f+1(我自己)。每个人的pie不能是拼接的,而且每个人的面积是一样的,这样就用二分枚举。
范围是0~最大的那块pie。
然后用每一块去除枚举值,加到cnt上,当cnt>=f+1时候找大一点的面积, 否则找小一点的面积
pie的值要取得精确一点 , = =
另外在输出时候要是%f,如果用%lf会WA的。
上代码!
#include <stdio.h>
#include <math.h>
#define pie 3.1415926535897932384626433
double Pies[+];
int n,f;
double find(double mmax){
int cnt;
int i;
double left=;
double right=mmax;
double mid;
double res=;
while(right-left>0.00001){
mid=(right+left)/;
cnt=;
for(i=;i<n;++i){
cnt+= (int)(Pies[i]/(mid));
}
if(cnt>=f){
left=mid;
if(mid>res)
res=mid;
}
else right=mid;
}
return mid;
} int main(){
int i,j;
int Case;
double mmax;
double res;
while(~scanf("%d",&Case)){
while(Case--){
scanf("%d%d",&n,&f);
f++;
mmax=-;
for(i=;i<n;++i){
scanf("%lf",&Pies[i]);
Pies[i]=pie*Pies[i]*Pies[i];
if(Pies[i]>mmax) mmax=Pies[i];
}
res=find(mmax);
printf("%.4f\n",res);
}
}
return ;
}
最新文章
- git放弃本地修改 强制更新
- 关于iOS10的允许访问用户数据产生的问题
- 关于iOS9,Xcode7以上的安全性问题
- SQLAlchemy 操作数据库
- 前端自动化工具 -- fis 使用简介
- 使用记事本+CSC编译程序
- python工具程序一、复制目录中指定扩展名的文件
- Mysql创建函数时报错
- 使用VS2010调用matlab的mat格式文件
- 以boost::function和boost:bind取代虚函数
- Swing中耗时任务需要另起新线程,这个新线程中更新GUI的操作仍需由EDT来做(转)
- (转载)Sybase:bcp命令参考
- 豹哥嵌入式讲堂:ARM开发之文件详解(2)- linker文件
- Bool的转录功能
- webpack4配置详解之常用插件分享
- 19.C# 泛型
- 译:9.使用Redis进行消息传递
- 学习笔记-AngularJs(五)
- 【代码审计】LaySNS_v2.2.0 System.php页面存在代码执行漏洞分析.
- python3 怎么爬取新闻网站?
热门文章
- xpath提取目录下所有标签内的内容,递归 //text()
- linux下tomcat服务的启动、关闭与错误跟踪
- gettimeofday() 获取系统时间,精确到微秒 这个似乎只能在linux 下用,不能在windows 下用
- [Java] 内部类的用法
- IE10修改select样式
- 关于在页面总嵌入iframe,ifram中发起请求,服务器端的session为空问题解决
- 算法库:clapack安装配置
- CodeForces 604C 【思维水题】`
- (转)C# SSL-X509使用
- SQL Server设置主键自增长列