此题虽然不是很难,但是感觉挺烧脑的...用贪心算法处理,从大的块开始处理,一直到小的块。

 while (true){int num1,num2,num3,num4,num5,num6;//numi表示输入的i*i的数量int num=0,remain1=0,reminder,remain2=0;//remain1表示剩余可容纳1*1的个数,remain2表示剩余可容纳2*2的个数cin>>num1>>num2>>num3>>num4>>num5>>num6;if(num1==0&&num2==0&&num3==0&&num4==0&&num5==0&&num6==0)break;else{num+=num6;  //当出现6*6时,需要num6个包裹。num+=num5;  //当出现5*5时,需要num5个包裹。但是每个包裹仍然能有11个1*1可以使用;remain1=11*num5;num+=num4;  //当出现4*4时,需要num4个包裹。remain2+=5*num4; //每个包裹仍然能有5个2*2可以使用reminder=num3%4; //对于3*3,每个包裹能容下(6*6)/(3*3)=4个包装,但有可能剩余;num3=num3/4;if(reminder==0)num+=num3;else{num+=num3;num++;//当剩余非0时,则需要一个新的包裹if(reminder==1){//剩余1时,即在本包裹中占用1个3*3的位置remain1+=7;remain2+=5;}else if (reminder==2){//剩余2时,即在本包裹中占用2个3*3的位置remain1+=6;remain2+=3;}else{//剩余3时,即在本包裹中占用3个3*3的位置remain1+=5;remain2+=1;}}if (remain2>num2){remain1+=(remain2-num2)*4;//如果大包裹的空隙完全可以装的下2*2,并且有剩余可以装1*1;num2=0;}elsenum2-=remain2;//如果大包裹的空隙不能完全装的下2*2,则需要额外申请空间reminder=num2%9;num2=num2/9;num+=num2;if(reminder!=0){num++;remain1+=36-4*reminder;//2*2申请空间的剩余空间分给1*1;}if (remain1>num1){num1=0;//如果空隙空间足以放置1*1,则不必再额外申请空间;}elsenum1-=remain1;reminder = num1%36;num1=num1/36;num+=num1;if(reminder!=0)num++;}cout<<num<<endl;}

SUHO2018校招笔试相关推荐

  1. 【小米校招笔试】在Excel中,列的名称是这样一个递增序列:seq={A、B、C、... Z、AA、AB、AC、... AZ、BA、BB、BC、... BZ、CA、... ZZ、AAA、AAB...

    2016年小米校招笔试第一题(成都站) 1 在Excel中,列的名称是这样一个递增序列:seq={A.B.C....  Z.AA.AB.AC.... AZ.BA.BB.BC.... BZ.CA.... ...

  2. 【小米校招笔试】假如已知有n个人和m对好友关系(存于数字r)。如果两个人是直接或间接的好友(好友的好友的好友...),则认为他们属于同一个朋友圈,请写程序求出这n个人里一共有多少个朋友圈。

    2016年小米校招笔试第三题(西安站) 3 假如已知有n个人和m对好友关系(存于数字r).如果两个人是直接或间接的好友(好友的好友的好友...),则认为他们属于同一个朋友圈,请写程序求出这n个人里一共 ...

  3. 【小米校招笔试】一个数组是由有序数组经过n次循环移动后所得,请你用最快速度查找某个元素位置

    2016年小米校招笔试第二题(西安站) 2 现有一个数组是由有序数组经过n次循环移动后所得,请你用最快速度查找某个元素位置(如1234568,向右移动3次后为67812345). 参考解法(Java版 ...

  4. 【小米校招笔试】给定一些线段,线段有起点和终点,求这些线段的覆盖长度,重复的部分只计算一次

    2016年小米校招笔试第一题(西安站) 1 给定一些线段,线段有起点和终点,求这些线段的覆盖长度,重复的部分只计算一次. 参考解法(Java版): package XiaoMi;/********** ...

  5. 阿里2020届校招笔试劝退题——你大爷还是你大爷

    阿里巴巴 2020 届的校招笔试结束了,群里哀声一片,来看这些经历了阿里秋招"洗礼"的小伙伴的真实状态. 下面这些人嘛......就有些偏激了,哈哈哈 先来说一下阿里笔试题构成:1 ...

  6. c语言 抽奖算法,腾讯2018校招笔试!抽奖算法思路c++实现!进入鹅厂真的简单!...

    进腾讯一般有3次面试:第一面看基本素质,第二面看专业技能,第三面是boss决策,说在前面的话:牛人都是爱学习的,越是成功的人学习越是频繁.在那次商业写作课上,我遇到了那位腾讯资深面试官. 背景 小伙伴 ...

  7. 【校招笔试】网易校招网络笔试题,菜的抠脚,蠢的流泪

    2018-3-27晚上9点40分 10分钟前.网易的校招笔试结束了,结果惨不忍睹,在此记录一下. 网易的校招笔试是在电脑端进行的,摄像头监控,考试网站牛客网,晚上7点半开始到9点半,自行居家网上答卷. ...

  8. 九月十月百度,迅雷,华为,阿里巴巴,最新校招笔试面试六十题

    九月迅雷,华为,阿里巴巴,最新笔试面试十题 8月15日,百度2道面试题: 1.来自<编程之美>的概率题:一个桶里面有白球.黑球各100个,现在按下述规则取球:的     i .每次从通里面 ...

  9. 最新校招笔试面试六十题

    原文: 九月十月百度,迅雷,华为,阿里巴巴最新校招笔试面试六十题(11.05) 链接:http://blog.csdn.net/v_july_v/article/details/11921021 分类 ...

最新文章

  1. 如何修改远程登录端口号?
  2. BZOJ 2748: [HAOI2012]音量调节【二维dp,枚举】
  3. dotNetSpider 手记
  4. asp.net core 腾讯验证码的接入
  5. 前端学习(1486):postman测试接口
  6. 50年后的地球什么样?大数据、AI、量子计算的书单给你答案
  7. Springboot 1.x 连接Oracle 10.2数据库
  8. windows 快捷调用
  9. Android 串口开发
  10. python的if判断语句_Python之if条件判断语句
  11. 学c++要不要先学C语言?
  12. 数据库迁移的几种方式
  13. java beetl输出demo_Beetl 快速入门
  14. 无线局域网打印服务器,无线局域网环境下怎么连接网络打印机
  15. 关于内推、简历、面试,我有一些想说的
  16. Android新手爬坑之路——Failed to find provider info for com.example.databasetest.provider
  17. 太极限了,JDK的这个BUG都能被我踩到!
  18. 推荐几款好用的书签收藏夹插件-让我们可以稍后阅读
  19. 华为南研所机考练习2-计算麻将的番数
  20. 二叉搜索树:红黑树的原理和实现

热门文章

  1. 磁场传感器(指北针)
  2. 爸爸,是这个时代的稀缺品
  3. php模拟登陆,php实现模拟登陆正方教务系统
  4. 关于WPS Office安全漏洞情况的通报
  5. 80个小炒,令你炒菜不再烦恼!
  6. Java第二课:图形界面(实现QQ登陆界面)
  7. c语言输出字母abcd,有字母ABCD,请用C语言编写程序,输出由该四个字母组成的字符串.要求如下:...
  8. 01_邂逅vue3开发
  9. 解决TensorFlow“Your CPU supports instructions TensorFlow binary was not compiled to use : AVX2 FMA”
  10. 最新版本交易猫钓鱼源码完整版