

思路非常简单,就是一个二分法。
注意一下l和r的取值,就可以了。
- // 如何进行切分巧克力:横纵除法。例如:一块6*5的,欲切为3*3的小块,横:6/2 = 3;纵:5/3=1.所以可以切成3*1块。
-
- // 策略:二分法。l=1;r = 1e5;
-
-
- #include
- #include
- using namespace std;
- struct node
- {
- int x;
- int y;
- };
- vector
vNode; - int n,m;
-
- bool check(int mid)
- {
- int cnt = 0;
- for(int i = 0;i
- {
- int cntX = vNode[i].x / mid;
- int cntY = vNode[i].y / mid;
- cnt += cntX * cntY;
- }
- if(cnt>=m)
- return true;
- else
- return false;
- }
- int main()
- {
- cin>>n>>m;
- for(int i = 0;i
- {
- int a,b;
- cin>>a>>b;
- vNode.push_back({a,b});
- }
-
- int l = 1;
- int r = 1e5;
- while(l
- {
- int mid = (l + r + 1) / 2;
- if(check(mid))
- l = mid;
- else
- r = mid - 1;
- }
- cout<
- return 0;
- }
-
相关阅读:
用go封装一下二级认证功能
W5100S-EVB-PICO通过SNTP获取网络时间(十一)
Linux——Linux指令2|more指令|less指令|head和tail指令|管道|时间相关的指令|date显示|Cal指令|find指令
京东商品详情API,页面信息采集,优惠券信息获取
FLINK的jar发布时报错 No suitable driver found for jdbc:mysql:/时,我的处理方法
应用播放器构建相关回调
Windbg调试工具介绍
图像分类单张图片预测准确率达到百分之百
[工业互联-2]:工业有线互联总线之CAN总线
java分布式锁的场景和使用方法
-
原文地址:https://blog.csdn.net/Software_Star/article/details/138170945