• 分巧克力


    /*
    标题: 分巧克力
    
        儿童节那天有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 test;
    import java.util.*;
    public class 分巧克力 {
        public static void main(String arg[]){
            Scanner input=new Scanner(System.in);
            int n=input.nextInt();
            int k=input.nextInt();
            int[][] a=new int[n][2];
            for(int i=0;i<n;i++){
                a[i][0]=input.nextInt();
                a[i][1]=input.nextInt();
            }
            System.out.println(f(a,k));
        } 
        public static int f(int[][] a,int k){
            int max=1;
            for(int i=2;;i++){//所分巧克力的边长从2开始,如果2不符合条件则会i-1
                int x=0;
                for(int j=0;j<a.length;j++){
                    if(a[j][0]/i>0&&a[j][1]/i>0){
                        x+=(a[j][0]/i)*(a[j][1]/i);//x计算每一块巧克力可以分几块边长为i的巧克力出来
                    }
                }
                if(x<k){//当分配的巧克力块数无法满足k,则max赋值为上一块大小并退出
                    max=i-1;
                    break;
                }
            }
            return max;
        }
    }
  • 相关阅读:
    Nvidia jetson agx xavier can通讯失败,修改时钟源pllaon
    nvidia xavier 刷机教程、风扇开启、上电自启
    AGX开机自启风扇
    国内外DNS汇总DNS设置优化选择推荐
    vue新窗口页面跳转
    docker gitlab迁移 备份 部署 搭建以及各种问题
    tcp流处理细节
    第19章附录
    DockerCompose实现Mysql主从
    博图V16安装教程网摘
  • 原文地址:https://www.cnblogs.com/ljs-666/p/8612752.html
Copyright © 2020-2023  润新知