有 n条绳子,它们的长度分别为 Li,如果从它们中切割出 m 条长度相同的绳子,这 m 条绳子每条最长能有多长?

输入格式

第一行两个整数 n和 m。

接下来 n 行,每行一个实数,描述了每条绳子的长度 Li​。

数据范围:1≤n≤m≤1e4,1≤Li​≤10^5。

输出格式

切割后每条绳子的最大长度,保留 2位小数。

输入:

4 11
8.02
7.43
4.57
5.39

输出:

2.00

二分思路找出符合题意最大的绳长度,注意绳长度是浮点数,二分循环的时候r和l可能不会相等,所以取他们接近时的答案,既r-l<0.0001。

#include<stdio.h>
#include<stdbool.h>
#include<string.h>
#include<math.h>//floor函数的头文件
#define esp 1e-4//设置精度
int n,m;
double l[10001];
int i;
char str[100];
bool pd(double mid){//mid是最长能切的长度 int con=0;//统计切mid能切多少条 for(i=0;i<n;i++){con+=floor(l[i]/mid);//floor函数的作用是向下取整}if(con<m) return false;//如果能切的条数少于要求的条数,返回falseelse return true;
}
int main(){scanf("%d %d",&n,&m);//n条绳子,要求切出m条绳 for(i=0;i<n;i++){   //n条绳子每条长多少 (小数 scanf("%lf",&l[i]);}double l=0,r=100000;while(r-l>esp){double mid=(l+r)/2;//二分 if(pd(mid)) l=mid;else r=mid;}printf("%.2f",floor(r*100)/100);//因为切绳子只能切小不能切大,所以r*100后向下取整,相当于r舍掉小数点后第三位return 0;
} 

切绳子(二分,c语言)相关推荐

  1. 题解报告:P1577 切绳子(二分答案)

    飞机票 P1577 切绳子 题意:有 N条绳子,它们的长度分别为 Li .如果从它们中切割出 KK 条长度相同的绳子,这 KK 条绳子每条最长能有多长?答案保留到小数点后 2 位(直接舍掉 2 位后的 ...

  2. 切绳子(含五种二分做法)

    题目来自洛谷 P1577 切绳子 题目描述 有 N 条绳子,它们的长度分别为 Li​.如果从它们中切割出 K 条长度相同的绳子,这 K 条绳子每条最长能有多长?答案保留到小数点后 2 位(直接舍掉 2 ...

  3. 切绳子【洛谷P1577】【二分】

    切绳子[洛谷P1577][二分] 文章目录 切绳子[洛谷`P1577`][二分] 题目描述 输入格式 输出格式 输入 输出 代码 题目描述 有 N 条绳子,它们的长度分别为 Li.如果从它们中切割出 ...

  4. 二分——切绳子(C++)

    题目描述: 有 n 条绳子,它们的长度分别为 Li,如果从它们中切割出 m 条长度相同的绳子,这 m 条绳子每条最长能有多长? 输入格式: 第一行两个整数 n和 m. 接下来 n行,每行一个实数,描述 ...

  5. 切绳子题解(博客搬家)

    题目 题目描述 有N条绳子,它们的长度分别为Li.如果从它们中切割出K条长度相同的绳子,这K条绳子每条最长能有多长? 答案保留到小数点后2位(直接舍掉2为后的小数). 输入 第一行两个整数N和K,接下 ...

  6. E - 切绳子(二分)

    有 n条绳子,它们的长度分别为 Li​,如果从它们中切割出 mm 条长度相同的绳子,这 m 条绳子每条最长能有多长? 输入格式 第一行两个整数 n 和 m. 接下来 nn 行,每行一个实数,描述了每条 ...

  7. [C] [二分] C语言实现快速排序

    为了以防万一有人想不开想手撕快排呢?比如我. 通过快排来理解二分思想 什么是快排? 快排的思想不难,理解好递归很重要. 什么是递归? 递归,就是在运行的过程中调用自己. 构成递归需具备的条件: 子问题 ...

  8. P1577切绳子问题

    题目描述 有 NN 条绳子,它们的长度分别为 L_iLi​.如果从它们中切割出 KK 条长度相同的绳子,这 KK 条绳子每条最长能有多长?答案保留到小数点后 2 位(直接舍掉 2 位后的小数). 输入 ...

  9. //众神云集、群魔乱舞、以一抵百、砥砺前行//P1577 切绳子

    题目描述 题目描述 有 N 条绳子,它们的长度分别为 Li.如果从它们中切割出 K 条长度相同的绳子,这 K 条绳子每条最长能有多长?答案保留到小数点后 2 位(直接舍掉 2 位后的小数). 输入格式 ...

最新文章

  1. LeetCode刷题记录11——290. Word Pattern(easy)
  2. struts2中使用标签操作静态方法等
  3. Java SE和Java EE应用的性能调优
  4. 循环前增加和后增加之间的区别?
  5. Partition函数
  6. 不讲武德,拿到户口后立马辞职...
  7. arcgis插值不覆盖区划图_ArcGIS绘图—空气质量站点数据插值绘制等值线图
  8. C/C++小游戏 ——贪吃蛇
  9. [原]用三行代码实现对音量的控制,实现增大,减小,静音
  10. GitHub上的私有仓库转换为共有仓库以及共有仓库转换为私有仓库
  11. IDP:云原生的“Jupyter”,让算法团队更高产
  12. [置顶] Android玄铁剑之TextView之图文并茂
  13. C++笔记(1):使用STL中sort()对struct排序
  14. 172篇文献:NUS颜水成等发布首篇《深度长尾学习》综述
  15. GIMP教程 5 选择
  16. 【毕业设计】 基于STM32的人体红外测温枪温度采集系统
  17. 计算机技术对英语要求高吗,学习计算机专业对英语要求高吗?
  18. tomcat部署web应用及架设论坛
  19. matlab导弹追踪,导弹追踪代码
  20. 2018年实现营收79.17亿元,科大讯飞能否决胜于人工智能时代?

热门文章

  1. 微商红利落幕,互联网创业如何破局?
  2. 网站外网访问以及如何申请域名
  3. c:set -----------JSTL
  4. 织梦网站巧用标签实现图片自动Alt功能,强化织梦seo效果
  5. linux串口配置驱动程序,Linux下安装PCI转串口卡及USB转串口器的驱动方法
  6. 计算机毕业设计Java智慧社区信息管理系统开发(源码+系统+mysql数据库+lw文档)
  7. Java第十一天笔记01——多线程编程
  8. linux系统:rm-rf执行以后,怎么办?我来教你恢复文件
  9. 用正则表达式求非负整数 、匹配正整数、非正整数、负整数、整数、非负浮点数、正浮点数、非正浮点数、负浮点数、浮点数、有数字26个英文字母组成的字符串
  10. JavaScript-Ajax