分巧克力(蓝桥杯)

标题: 分巧克力

儿童节那天有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

资源约定:
峰值内存消耗(含虚拟机) < 256M
CPU消耗 < 1000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
不要使用package语句。不要使用jdk1.7及以上版本的特性。
主类的名字必须是:Main,否则按无效代码处理。

package com.tjrac_java_2;import java.util.ArrayList;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;class Square implements Comparable<Square>{public int len,wid,min=0,s;public Square(int len, int wid, int min) {this.len=len;this.wid=wid;this.min=min;this.s=min*min;}@Overridepublic int compareTo(Square o) {if(this.min>o.min){return 1;}return -1;}
}
public class TT {static int n;static int sum=0;public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = 0,k,_min = 100001,min1=100001,_max=-1,max=-1;n=sc.nextInt();k=sc.nextInt();//Set<Square> set = new TreeSet<>();ArrayList<Square> arr =new ArrayList<>();for(int i=0;i<n;i++){int a,b;a=sc.nextInt();b=sc.nextInt();_min=Math.min(a, b);max=Math.max(a, b);_max=Math.max(max, _min);min1=Math.min(_min, min1);//System.out.println("ab:  "+a+" "+b);arr.add(new Square(a,b,_min));}Set<Square> set = new TreeSet<>();set.addAll(arr);
/*      for (Square s : set) {System.out.println(s.len+"-"+s.wid+"-"+s.min);}*/int s=0,f=1;for(int r=_max; r>0; r--){if(f==0){break;}s=0;int ss = r*r;for (Square aq : set) {if(aq.min<r){break;}int cnt=aq.s/ss;//每个巧克力分的次数s+=cnt;if(s>=10){System.out.println(r);f=0;break;}}}}
}

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

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

相关文章

Flume 实战开发指南

Flume 文章目录FlumeFlume介绍Flume核心概念Flume NG的体系结构SourceChannelSinkFlume的部署类型单一流程多代理流程&#xff08;多个agent顺序连接&#xff09;流的合并&#xff08;多个Agent的数据汇聚到同一个Agent &#xff09;多路复用流&#xff08;多级流&#xff09;l…

vim grep配置及使用

vimgrep /匹配模式/[g][j] 要搜索的文件/范围 g&#xff1a;表示是否把每一行的多个匹配结果都加入 j&#xff1a;表示是否搜索完后定位到第一个匹配位置 vimgrep /pattern/ % 在当前打开文件中查找 vimgrep /pattern/ * 在当前目录下查找所有 vimgrep…

C++ STL--stack/queue 的使用方法

1、stack stack 模板类的定义在<stack>头文件中。 stack 模板类需要两个模板参数&#xff0c;一个是元素类型&#xff0c;一个容器类型&#xff0c;但只有元素类型是必要 的&#xff0c;在不指定容器类型时&#xff0c;默认的容器类型为deque。 定义stack 对象的示例代码…

Flink Chain任务链分隔

Chain分隔 文章目录Chain分隔如何切断任务链&#xff1f;startNewChain 与 disableChaining区别全局切断任务链(chain)web端效果查看隔离后依赖链忙碌程度什么是Backpressured(被压/反压)&#xff1f;代码样例参考文献如何切断任务链&#xff1f; 由于共享slot的存在&#xff…

Vim winmanager文件浏览自动更新

使用winmanger插件中发现其中引用的fileexplorer不能自动更新到当前文件夹。 将vim/plugin/winfileexplorer.vim 中的函数FileExplorer_Start() function! FileExplorer_Start() let b:displayMode "winmanager" call s:EditDir(getcwd()) "if exists(s:lastDi…

KMP 深度讲解next数组的求解

【经典算法】——KMP&#xff0c;深入讲解next数组的求解 前言   之前对kmp算法虽然了解它的原理&#xff0c;即求出P0Pi的最大相同前后缀长度k&#xff1b;但是问题在于如何求出这个最大前后缀长度呢&#xff1f;我觉得网上很多帖子都说的不是很清楚&#xff0c;总感觉没有把…

Yarn 命令详细介绍

文章目录yarn命令根据状态查看Yarn全部运行应用程序根据提交程序代码提交类型查看运行程序yarn top 查看正在运行的状态yarn top整体资源使用查看Yarn web页面工具脚本根据yarn应用名称kill进程根据yarn应用名称查看日志yarn命令 根据状态查看Yarn全部运行应用程序 # 查看全部…

初窥Linux 之 我最常用的20条命令

玩过Linux的人都会知道&#xff0c;Linux中的命令的确是非常多&#xff0c;但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼&#xff0c;因为我们只需要掌握我们最常用的命令就可以了。当然你也可以在使用时去找一下man&#xff0c;他会帮你解决不少的问题。然而每个…

纸牌三角形(蓝桥杯)

标题&#xff1a;纸牌三角形 A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形&#xff08;A按1计算&#xff09;。要求每个边的和相等。 下图就是一种排法。 A 9 6 4 8 3 7 5 2 镜像后的&#xff1a; A 6 9 8 4 2 5 7 3 这样的排法可能会有很多。 如果考虑旋转、镜像…

BackPressure详细介绍

BackPressure详细介绍 文章目录BackPressure详细介绍前言什么是反压&#xff1f;为什么需要关注反压&#xff1f;为什么不需要关注反压&#xff1f;如何发现和追踪反压的根源&#xff1f;反压的坏处经常碰到哪些问题会任务反压怎么处理反压&#xff1f;前言 Flink反压已经是老…

new/delete和malloc/free的区别一般汇总

一、基本概念 malloc/free&#xff1a; 1、函数原型及说明&#xff1a; void *malloc(long NumBytes)&#xff1a;该函数分配了NumBytes个字节&#xff0c;并返回了指向这块内存的指针。如果分配失败&#xff0c;则返回一个空指针&#xff08;NULL&#xff09;。 void free(voi…

给IT新人的15个建议:程序员的辛酸反省与总结!

很多人表面上看着老实巴交的&#xff0c;实际上内心比谁都好强、自负、虚荣、甚至阴险。工作中见的多了&#xff0c;也就习惯了。   有一些人&#xff0c;什么事都写在脸上&#xff0c;表面上经常得罪人&#xff0c;甚至让人讨厌。但是他们所表现的又未必不是真性情。 我相信…

Logback日志发送到Kafka

Logback日志发送到Kafka 文章目录Logback日志发送到Kafka一、使用logback将日志发送至kafka1.1 引入依赖1.2 logback.xml简单Demo1.3 兼容性1.4 完整的样例1.5 启动程序收集日志1.6 项目Git地址一、使用logback将日志发送至kafka 1.1 引入依赖 如果存在则跳过该步骤 pom.xml …

01背包问题(DFS解法)

有5个物体&#xff0c;每个物品只有一个,其重量分别是为2,2,6,5,4,价值分别为6,3,5,4,6,背包的载重量为10,求装入背包的物体及总质量。 计算结果&#xff1a;15 package com.lanQiaoFor6;import java.util.ArrayList; import java.util.TreeSet;public class JAVA_6 {static …

Windows下安装Vim插件管理Vundle

VIM是编辑器之神&#xff0c;这个就不用说了&#xff0c;越使用越会体会到VIM的强大与便利。但是它的强大建立在众多插件组合之上&#xff0c;而Vim本身缺乏对插件的有效管理&#xff0c;安装插件并配置_vimrc文件非常不便。gmarik受到Ruby的bunler的启发&#xff0c;开发了vun…

AOE网

博客来源&#xff1a;http://blog.csdn.net/wang379275614/article/details/13990163 认识AOE网 有向图中&#xff0c;用顶点表示活动&#xff0c;用有向边表示活动之间开始的先后顺序&#xff0c;则称这种有向图为AOV网络&#xff1b;AOV网络可以反应任务完成的先后顺序&#…

Spark foreachRDD的使用

常出现的使用误区&#xff1a; **误区一&#xff1a;**在driver上创建连接对象&#xff08;比如网络连接或数据库连接&#xff09; 如果在driver上创建连接对象&#xff0c;然后在RDD的算子函数内使用连接对象&#xff0c;那么就意味着需要将连接对象序列化后从driver传递到w…

包子凑数(蓝桥杯)

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

makefile例子(经典)

相信在unix下编程的没有不知道makefile的&#xff0c;刚开始学习unix平台 下的东西&#xff0c;了解了下makefile的制作&#xff0c;觉得有点东西可以记录下。   下面是一个极其简单的例子&#xff1a; 现在我要编译一个Hello world&#xff0c;需要如下三个文件&#xff1a;…

Scala-SparkStreaming 2.2.0 消费 kafka0.10(生产1.0)

Scala-SparkStreaming 2.2.0 kafka0.10&#xff08;生产1.0&#xff09; 文章目录Scala-SparkStreaming 2.2.0 kafka0.10&#xff08;生产1.0&#xff09;代码Pom.xmlSparkstreaming 2.1.1版本pom文件Spark 2.2 kafka0.10(api使用的0.10&#xff0c;实际生产kafka版本是1.0)代码…