2017第八届蓝桥杯C/C++ B组省赛题——分巧克力
2018-03-31 15:26
375 查看
分巧克力
儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。 为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足: 1. 形状是正方形,边长是整数 2. 大小相同 例如一块6x5的巧克力可以切出6块2x2的巧克力或者2块3x3的巧克力。 当然小朋友们都希望得到的巧克力尽可能大,你能帮小Hi计算出最大的边长是多少么? 输入 第一行包含两个整数N和K。(1 <= N, K <= 100000) 以下N行每行包含两个整数Hi和Wi。(1 <= Hi, Wi <= 100000) 输入保证每位小朋友至少能获得一块1x1的巧克力。 输出 输出切出的正方形巧克力最大可能的边长。 样例输入: 2 10 6 5 5 6 样例输出: 2
#include<iostream> using namespace std; main(){ int N,K,Hi,Wi,len=0; cin>>N>>K; int c [2]; for(int i=0;i<N;i++){ cin>>Hi>>Wi; c[i][0] = Hi;c[i][1] = Wi; if(Hi>=Wi) { if(Wi>len) len = Wi; }else{ if(Hi>len) len = Hi; } /*要考虑舍弃某些巧克力的分割 例如: 3 4 7 12 2 2 4 5 结果为4 */ } for(int i=len;i>=1;i--){ int sum=0; for(int j=0;j<N;j++){ int m = c[j][0]/i; int n = c[j][1]/i; sum += m*n; } if(sum>=K) { cout<<i;break; } } return 0; }
相关文章推荐
- 2017第八届蓝桥杯C/C++ B组省赛题——等差素数列
- 2017第八届蓝桥杯C/C++ B组省赛题——承压计算
- 2017第八届蓝桥杯C/C++ B组省赛第二题 秒解
- (2017)第八届蓝桥杯大赛个人赛省赛(软件类) C/C++ 大学A组 题解(第八题)
- 2017第八届蓝桥杯C/C++ B组省赛题解
- 2017第八届蓝桥杯C/C++B组第二题 等差素数列
- 2017第八届蓝桥杯-分巧克力
- 2017第八届蓝桥杯 A组 C/C++ 真题及题解
- (2017)第八届蓝桥杯大赛个人赛省赛(软件类) C/C++ 大学A组 题解(第一题和第二题)
- [置顶] 2012第三届--2017第八届 蓝桥杯省赛-C/C++真题汇总
- 2017第八届蓝桥杯C/C++语言A组
- 2017第八届蓝桥杯C/C++ B组省赛题解、答案
- 2017第八届蓝桥杯C/C++ B组省赛第二题(素数筛法+枚举)
- 第八届 蓝桥杯 c/c++ B组 省赛 (9)——分巧克力
- 第八届蓝桥杯C++B组第九题:分巧克力
- 2017第八届蓝桥杯 C/C++B组真题及题解
- 第八届蓝桥杯C++B组 分巧克力
- 2017第八届蓝桥杯C/C++第十题 - k倍区间 - 前缀和
- (2017)第八届蓝桥杯大赛个人赛省赛(软件类) C/C++ 大学A组 题解(第九题)
- 2017第八届蓝桥杯C/C++ B组省赛