C++实现 1227. 分巧克力

  大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客,唯一博客更新的地址为:亓官劼的博客 ,同时正在尝试在B站中做一些内容分享,B站主页为: 亓官劼的B站主页

本文原创为亓官劼,请大家支持原创,部分平台一直在恶意盗取博主的文章!!!
若需联系博主,可以联系本人微信:qiguanjie2015


题目

儿童节那天有 K 位小朋友到小明家做客。

小明拿出了珍藏的巧克力招待小朋友们。

小明一共有 N 块巧克力,其中第 i 块是 Hi×Wi 的方格组成的长方形。

为了公平起见,小明需要从这 N 块巧克力中切出 K 块巧克力分给小朋友们。

切出的巧克力需要满足:

  1. 形状是正方形,边长是整数
  2. 大小相同

例如一块 6×5 的巧克力可以切出 6 块 2×2 的巧克力或者 2 块 3×3 的巧克力。

当然小朋友们都希望得到的巧克力尽可能大,你能帮小明计算出最大的边长是多少么?

输入格式

第一行包含两个整数 N 和 K。

以下 N 行每行包含两个整数 Hi 和 Wi。

输入保证每位小朋友至少能获得一块 1×1 的巧克力。

输出格式

输出切出的正方形巧克力最大可能的边长。

数据范围

1≤N,K≤105,
1≤Hi,Wi≤105

输入样例:

2 10
6 5
5 6

输出样例:

2

题解思路

这里可以采用遍历的方法,逐次尝试各个边长是否可以满足要求,这里再采用二分法来加速这个过程,所以这里采用整数二分的解法,整数二分需要注意边界问题。

算法实现:

#include<iostream>
using namespace std;
int n,k;
const int N = 10e5 + 10;
int g[N][2];
bool check(int len){int cnt = 0;for(int i = 0 ; i < n ; i++){cnt += (g[i][0] / len) * (g[i][1] / len);if(cnt >= k)return true;}return false;
}
int main(){cin >> n >> k;for(int i = 0 ; i < n; i++)scanf("%d %d",&g[i][0],&g[i][1]);// 整数二分,从1到10e5区间内查找int l = 1,r = 10e5,mid;while(l < r){// +1 避免死循环,边界问题mid = l + r + 1>> 1;if(check(mid))l = mid;elser = mid - 1;}cout<< l;return 0;
}

C++实现 1227. 分巧克力相关推荐

  1. 蓝桥杯java第八届第九题--分巧克力

    标题: 分巧克力儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们.小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形.为了公平起见,小明需要从这 N 块巧克力中切 ...

  2. 2017蓝桥杯省赛---java---B---9(分巧克力)

    题目描述 标题: 分巧克力儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们.小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形.为了公平起见,小明需要从这 N 块 ...

  3. 2017蓝桥杯c语言C组承压计算,蓝桥杯2017Java B组---分巧克力and承压计算

    分巧克力 package lala; /* *儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们. 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形. 为了公平起 ...

  4. 蓝桥杯第八届省赛JAVA真题----分巧克力

    标题: 分巧克力 儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们. 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形. 为了公平起见,小明需要从这 N 块巧克 ...

  5. 题目 1885: 2017 分巧克力

    蓝桥杯2017年第八届真题-分巧克力 - C语言网 做题记录: 第一次(16分钟/78')超时: 通过举例,可以直到长宽  a*b的巧克力,分边长为i的巧克力可以分(a/i)*(b/i)块 思路:ma ...

  6. 【每日一题2019-11-14】-蓝桥杯 prev37 分巧克力

    [每日一题2019-11-14]-蓝桥杯 prev37 分巧克力 文章目录 [每日一题2019-11-14]-蓝桥杯 prev37 分巧克力 1.问题描述 2.输入格式 3.样例输入 4.样例输出 5 ...

  7. 蓝桥杯 分巧克力 python

    蓝桥杯 分巧克力 python 题目标题 儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们. 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形. 为了公平起见, ...

  8. Java实现第八届蓝桥杯分巧克力

    分巧克力 题目描述 儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们. 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形. 为了公平起见,小明需要从这 N 块巧 ...

  9. 分巧克力 【蓝桥杯】

    题目描述 标题: 分巧克力儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们.小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形.为了公平起见,小明需要从这 N 块 ...

最新文章

  1. jQuery搜索框自动补全功能插件实现-autocomplete.js
  2. magento 为用户注册增加一个字段(转)
  3. DNS部署(四)之lvs+keepalived+bind架构高可用负载均衡DNS系统
  4. Django模板继承
  5. python string.format()_Python string.format()百分比,不取整
  6. 批处理命令 / rd 和 del
  7. Tableau研学小课堂(part7)--计算字段
  8. [转]图片处理函数(自适应缩略图datatable中添加缩略图像)
  9. 【产品评测】华为开源镜像站体验:美好终将不期而遇
  10. 34 个免费学习编程的最佳网站
  11. MySql的完整卸载(总共四个步骤)
  12. DB2 JDBC Driver 必需的字符转换器不可用
  13. 使用POI在线预览Word
  14. 2008年上半年程序员考试上午真题自我汇总
  15. 支付宝接口对接指南(四、回调通知对接:websoket方式)【保姆级】
  16. 【学习】Congestion Control
  17. Chips交互操作和集合论
  18. 在实体引用中,实体名称必须紧跟在 ‘’后面
  19. 系统结构设计原则、聚合与耦合
  20. Python3 调用谷歌翻译

热门文章

  1. 2019.8.1考试反思
  2. 开发一个简单APP的流程及记事本案例(Android Studio)
  3. LNMP部署+上线wordpre
  4. java+ssh+mysql企业设备资产管理系统
  5. 全自动智能声波电动牙刷芯片——DLTAP602SA
  6. 电脑tf卡检测不到_内存卡在电脑上读不出来怎么办 内存卡在电脑上读不出来解决方法【详细介绍】...
  7. windows7中的“mklink命令”
  8. tomcat官方网站
  9. 源码天堂JAVA_github下载的源码打包成jar
  10. 通俗的解释下音视频同步里pcr作用