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

标题: 分巧克力

儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。
小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。
为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足:
1. 形状是正方形,边长是整数
2. 大小相同
3.
例如一块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

资源约定:
峰值内存消耗(含虚拟机) < 256M
CPU消耗 < 1000ms
请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
不要使用package语句。不要使用jdk1.7及以上版本的特性。
主类的名字必须是:Main,否则按无效代码处理。

解析:对于这个题目,我们可能会纠结与如何保证多块巧克力同时能够被切割成指定块数。其实不过是枚举罢了,我们从大到小进行枚举,找到一个最大的分发能够满足指定块数就可以了。下面采用了二分法进行查找合适大小。

import java.util.Scanner;
class Cho {int h;int w;public Cho(int h, int w) {// TODO Auto-generated constructor stubthis.h = h;this.w = w;}
}
public class Main2 {static int n, k;static Cho[] cho;public static void main(String[] args) {Scanner in = new Scanner(System.in);n = in.nextInt();k = in.nextInt();int low = 1;int mid = 0;int high = 100000;cho = new Cho[n];for (int i = 0; i < n; i++) {int a = in.nextInt();int b = in.nextInt();cho[i] = new Cho(a, b);}
//      二分,基本思路为暴力,从大到小能够保证最先出来的结果就是符合要求的最大情况while (low < high -1) {mid = (low + high) /2;if (!judge(mid)) {high = mid;} else {low = mid;}}System.out.println(mid - 1);}private static boolean judge(int l) {// TODO Auto-generated method stubint sum = 0;for (int i = 0; i < n; i++) {sum += (cho[i].h * cho[i].w) / (l * l);if (sum >= k) {return true;}}return false;}
} 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/569648.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯第八届省赛JAVA真题----油漆面积

标题&#xff1a;油漆面积 X星球的一批考古机器人正在一片废墟上考古。 该区域的地面坚硬如石、平整如镜。 管理人员为方便&#xff0c;建立了标准的直角坐标系。 每个机器人都各有特长、身怀绝技。它们感兴趣的内容也不相同。 经过各种测量&#xff0c;每个机器人都会报告…

练习2——顺序表

//实现顺序表基本功能&#xff0c;然两个顺序表相并 #include <iostream> #include <stdlib.h> using namespace std; typedef int T; class SeqList{T *data;int MaxSize;int last; public:SeqList(int sz);~SeqList(){delete [] data;}int Length() const {retur…

docker占满linux磁盘根目录的解决办法

一、磁盘根目录被占满 [testlocalhost docker]$ df -lh Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 50G 50G 0G 100% / devtmpfs 7.7G 0 7.7G 0% /dev tmpfs 7.8G 0 7.8G 0…

蓝桥杯第八届省赛JAVA真题----包子凑数

标题&#xff1a;包子凑数 小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有N种蒸笼&#xff0c;其中第i种蒸笼恰好能放Ai个包子。每种蒸笼都有非常多笼&#xff0c;可以认为是无限笼。 每当有顾客想买X个包子&#xff0c;卖包子的大叔就会迅速选出若干笼包子来&…

蓝桥杯第八届省赛JAVA真题----字母组串

标题&#xff1a;字母组串 由 A,B,C 这3个字母就可以组成许多串。 比如&#xff1a;”A”,”AB”,”ABC”,”ABA”,”AACBB” …. 现在&#xff0c;小明正在思考一个问题&#xff1a; 如果每个字母的个数有限定&#xff0c;能组成多少个已知长度的串呢&#xff1f; 他请好…

蓝桥杯第八届省赛JAVA真题----9数算式

标题&#xff1a;9数算式 观察如下的算式&#xff1a; 9213 x 85674 789314562 左边的乘数和被乘数正好用到了1~9的所有数字&#xff0c;每个1次。 而乘积恰好也是用到了1~9的所有数字&#xff0c;并且每个1次。 请你借助计算机的强大计算能力&#xff0c;找出满足如上要…

《剑指offer》第五十三题(数组中数值和下标相等的元素)

// 面试题53&#xff08;三&#xff09;&#xff1a;数组中数值和下标相等的元素 // 题目&#xff1a;假设一个单调递增的数组里的每个元素都是整数并且是唯一的。请编程实 // 现一个函数找出数组中任意一个数值等于其下标的元素。例如&#xff0c;在数组{-3, -1, // 1, 3, 5}中…

Mysql 外键创建失败原因

最近在学习PHP&#xff0c;在用mysql创建表的时候总是创建不出来&#xff0c;我用的是Navicat做的&#xff0c;虽然建不出来外键&#xff0c;但是会创建出来一个索引&#xff0c;后来才明白&#xff0c;一定要有了对应的索引才能创建外键。

shiro(1) 介绍

一、什么是shiro&#xff08;1&#xff09;属性&#xff1a;java框架&#xff08;2&#xff09;用途&#xff1a;身份验证、用户授权、加密、会话管理&#xff08;3&#xff09;优点&#xff1a;轻量、易用二、三大组件&#xff08;1&#xff09;subject&#xff1a;代表当前主…

PHP实现简单注册登录系统

目录结构如下&#xff0c;其中function文件夹下包含两个函数文件&#xff0c;uploads文件夹用于存放上传的文件。 注&#xff1a;博主使用的是php5&#xff0c;使用php7的小伙伴运行报错的话有一部分原因是新的语法造成的&#xff0c;修改成新语法就可以了 html页面 登录页面…

代码审计中的文件包含漏洞

0x00 背景 文件包含漏洞是php语言的一大特性。文件包含的意思是&#xff0c;服务器在执行PHP文件时&#xff0c;可以通过文件包含函数加载另一个文件中的PHP代码并执行&#xff0c;这会为开发者节省大量的时间。而文件包含漏洞的出现在于服务器没有对要包含的来源文件进行审查&…

蓝桥杯第九届省赛JAVA真题----螺旋折线

标题&#xff1a;螺旋折线 如图p1.pgn所示的螺旋折线经过平面上所有整点恰好一次。 对于整点(X, Y)&#xff0c;我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度。 例如dis(0, 1)3, dis(-2, -1)9 给出整点坐标(X, Y)&#xff0c;你能计算出dis(X, Y)…

JAVA-WEB开发环境和搭建

JAVA Web开发环境与搭建 一、下载安装JDK 1.配置jdk开发环境 JAVA_HOME 2.path 二、下载安装eclipse javaEE版本 三、安装部署tomcat 3.1、安装&#xff1a; 直接解压到指定目录即可。&#xff08;注&#xff1a;目录不要太深&#xff1b;目录不要有中文或空格&#xff09; 3.2…

Vue入门 ---- 简易留言板

##简述 初学vue&#xff0c;比Angular要简单易学一点&#xff0c;基本就是html代码json。这是第一个小的例子&#xff0c;用到了vue的几个常用方法&#xff0c;其中v-for的$index稍微有点迷惑&#xff0c;也影响了完成的速度&#xff0c;网上说是vue2.0已经取消了这种用法&…

Factors of Factorial AtCoder - 2286 (N的阶乘的因子个数)(数论)

Problem Statement You are given an integer N. Find the number of the positive divisors of N!, modulo 10^97. Constraints 1≤N≤10^3Input The input is given from Standard Input in the following format: NOutput Print the number of the positive divisors of N!,…

VS Code编译Python

一、想要编译Python我们首先要安装python&#xff0c;进入官网下载python3&#xff08;不要下载python2.7&#xff0c;不就之后就不会再使用低版本的python了&#xff09; 二、配置环境变量 三、在VS Code中添加插件&#xff0c;记得添加完点击重新加载插件&#xff0c;或…

JAVA学习笔记_五JAVA开发中的WEB前端技术

css 字体属性: font-size font-style font-family font-weight font 设置字体font-family时&#xff0c;中文、英文字体设置时的顺序&#xff0c;英文在前中文在后&#xff1b; font-size&#xff1a;常用单位px&#xff0c;也用in、cm、mm、pt、pc&#xff0c;这几个简…

VS Code编译C/C++

C/C环境的配置要比python的复杂许多&#xff0c;好几个配置文件要写。 一、编译C/C的环境一般都是集成在我们的编辑器中的&#xff0c;如果电脑上有codeblock和dev c的读者可以去安装路径下找找MinGW文件夹&#xff0c;可以不用重复下载。而没有的读者则需要下载MinGW 二、配置…

H5的Video事件,控制方法,及监听

1.标签基本属性 src &#xff1a;视频的属性 poster&#xff1a;视频封面&#xff0c;没有播放时显示的图片preload&#xff1a;预加载autoplay&#xff1a;自动播放loop&#xff1a;循环播放controls&#xff1a;浏览器自带的控制条width&#xff1a;视频宽度 height&#xff…

Hexo+GitHub 快速搭建个人博客(一)---- 基本部署

前期准备&#xff1a; 1.Git shell 2.node.js 3.在github上创建一个仓库&#xff0c;仓库命名格式为xxx.github.io 一、安装Hexo cd进入自己想要安装的目录下&#xff0c;执行下面的命令 npm install hexo-cli -g 升级Hexo npm update hexo -g 卸载Hexo 如果安装过程中…