C++实现 1227. 分巧克力
C++实现 1227. 分巧克力
大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客,唯一博客更新的地址为:亓官劼的博客 ,同时正在尝试在B站中做一些内容分享,B站主页为: 亓官劼的B站主页
本文原创为亓官劼,请大家支持原创,部分平台一直在恶意盗取博主的文章!!!
若需联系博主,可以联系本人微信:qiguanjie2015
题目
儿童节那天有 K 位小朋友到小明家做客。
小明拿出了珍藏的巧克力招待小朋友们。
小明一共有 N 块巧克力,其中第 i 块是 Hi×Wi 的方格组成的长方形。
为了公平起见,小明需要从这 N 块巧克力中切出 K 块巧克力分给小朋友们。
切出的巧克力需要满足:
- 形状是正方形,边长是整数
- 大小相同
例如一块 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. 分巧克力相关推荐
- 蓝桥杯java第八届第九题--分巧克力
标题: 分巧克力儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们.小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形.为了公平起见,小明需要从这 N 块巧克力中切 ...
- 2017蓝桥杯省赛---java---B---9(分巧克力)
题目描述 标题: 分巧克力儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们.小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形.为了公平起见,小明需要从这 N 块 ...
- 2017蓝桥杯c语言C组承压计算,蓝桥杯2017Java B组---分巧克力and承压计算
分巧克力 package lala; /* *儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们. 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形. 为了公平起 ...
- 蓝桥杯第八届省赛JAVA真题----分巧克力
标题: 分巧克力 儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们. 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形. 为了公平起见,小明需要从这 N 块巧克 ...
- 题目 1885: 2017 分巧克力
蓝桥杯2017年第八届真题-分巧克力 - C语言网 做题记录: 第一次(16分钟/78')超时: 通过举例,可以直到长宽 a*b的巧克力,分边长为i的巧克力可以分(a/i)*(b/i)块 思路:ma ...
- 【每日一题2019-11-14】-蓝桥杯 prev37 分巧克力
[每日一题2019-11-14]-蓝桥杯 prev37 分巧克力 文章目录 [每日一题2019-11-14]-蓝桥杯 prev37 分巧克力 1.问题描述 2.输入格式 3.样例输入 4.样例输出 5 ...
- 蓝桥杯 分巧克力 python
蓝桥杯 分巧克力 python 题目标题 儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们. 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形. 为了公平起见, ...
- Java实现第八届蓝桥杯分巧克力
分巧克力 题目描述 儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们. 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形. 为了公平起见,小明需要从这 N 块巧 ...
- 分巧克力 【蓝桥杯】
题目描述 标题: 分巧克力儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们.小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形.为了公平起见,小明需要从这 N 块 ...
最新文章
- jQuery搜索框自动补全功能插件实现-autocomplete.js
- magento 为用户注册增加一个字段(转)
- DNS部署(四)之lvs+keepalived+bind架构高可用负载均衡DNS系统
- Django模板继承
- python string.format()_Python string.format()百分比,不取整
- 批处理命令 / rd 和 del
- Tableau研学小课堂(part7)--计算字段
- [转]图片处理函数(自适应缩略图datatable中添加缩略图像)
- 【产品评测】华为开源镜像站体验:美好终将不期而遇
- 34 个免费学习编程的最佳网站
- MySql的完整卸载(总共四个步骤)
- DB2 JDBC Driver 必需的字符转换器不可用
- 使用POI在线预览Word
- 2008年上半年程序员考试上午真题自我汇总
- 支付宝接口对接指南(四、回调通知对接:websoket方式)【保姆级】
- 【学习】Congestion Control
- Chips交互操作和集合论
- 在实体引用中,实体名称必须紧跟在 ‘’后面
- 系统结构设计原则、聚合与耦合
- Python3 调用谷歌翻译
热门文章
- 2019.8.1考试反思
- 开发一个简单APP的流程及记事本案例(Android Studio)
- LNMP部署+上线wordpre
- java+ssh+mysql企业设备资产管理系统
- 全自动智能声波电动牙刷芯片——DLTAP602SA
- 电脑tf卡检测不到_内存卡在电脑上读不出来怎么办 内存卡在电脑上读不出来解决方法【详细介绍】...
- windows7中的“mklink命令”
- tomcat官方网站
- 源码天堂JAVA_github下载的源码打包成jar
- 通俗的解释下音视频同步里pcr作用