算法与程序实践1(简单计算)(4)
空
格隔开,分别为1*1 至6*6 这六种产品的数量。输入文件将以6 个0 组成的一行结尾。 输出要求:
除了输入的最后一行6 个0 以外,输入文件里每一行对应着输出文件的一行,每一行输 出一个整数代表对应的订单所需的最小包裹数。 输入样例:
0 0 4 0 0 1 7 5 1 0 0 0 0 0 0 0 0 0 输出样例:
2 1
解题思路:
这个问题描述得比较清楚,我们在这里只解释一下输入输出样例:共有两组有效输入,第一组表示有4个3*3的产品和一个6*6的产品,此时4个3*3的产品占用一个箱子,另外一个6*6的产品占用1个箱子,所以箱子数是2;第二组表示有7个1*1的产品,5个2*2的产品和1个3*3的产品,我们可以把他们统统放在一个箱子中,所以输出是1。
分析六个型号的产品占用箱子的具体情况如下:6*6的产品每个会占用一个完整的箱子,并且没有空余空间;5*5的产品每个占用一个新的箱子,并且留下11个可以盛放1*1的产品的空余空间;4*4的产品每个占用一个新的箱子,并且留下5个可以盛放2*2的产品的空余空间;3*3的产品情况比较复杂,首先3*3 的产品不能放在原来盛有5*5或者4*4的箱子中,那么必须为3*3的产品另开新的箱子,新开的箱子数目等于3*3的产品的数目除以4向上取整;同时我们需要讨论为3*3的产品新开箱子时,剩余的空间可以盛放多少2*2和1*1的产品(这里如果有空间可以盛放2*2的产品,我们就将它计入2*2的空余空间,等到2*2的产品全部装完,如果还有2*2的空间剩余,再将它们转换成1*1的剩余空间)。我们可以分情况讨论为3*3 的产品打开的新箱子中剩余的空位,共为四种情况:第一种,3*3的产品的数目正好是4 的倍数,所以没有空余空间;第二种,3*3的产品数目是4的倍数加1,这时还剩5个2*2的空位和7个1*1的空位;第三种,3*3的产品数目是4的倍数加2,这时还剩3个2*2的空位和6个1*1的空位;第四种,3*3的产品数目是4的倍数加3,这时还剩1个2*2的空位和5个1*1的空位;处理完3*3的产品,就可以比较一下剩余的2*2的空位和2*2产品的数目,如果产品数目多,就将2*2的空位全部填满,再为2* 的产品打开新箱子,同时计算新箱子中1*1 的空位,如果剩余空位多,就将2*2的产品全部填入2*2的空位,再将剩余的2*2的空位转换成1*1的空位;最后处理1*1的产品,比较一下1*1的空位与1*1的产品数目,如果空位多,将1*1的产品全部填入空位,否则,先将1*1的空位填满,然后再为1*1的产品打开新的箱子。
CS8:求平均年龄
(来源:poj.grids.cn 2714) 问题描述:
班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。
10
输入:
第一行有一个整数n(1<= n <= 100),表示学生的人数。其后n行每行有1个整数,取值为15到25。 输出:
输出一行,该行包含一个浮点数,为要求的平均年龄,保留到小数点后两位。 样例输入:
2 18 17
样例输出:
17.50
提示:
要输出浮点数、双精度数小数点后2位数字,可以用下面这种形式: printf(\
CS9:数字求和
(来源:poj.grids.cn 2796) 问题描述:
给定一个正整数a,以及另外的5个正整数,问题是:这5个整数中,小于a的整数的和是多少? 输入:
输入一行,只包括6个小于100的正整数,其中第一个正整数就是a。 输出:
输出一行,给出一个正整数,是5个数中小于a的数的和。 样例输入:
10 1 2 3 4 11 样例输出:
10
CS10:两倍
(来源:poj.grids.cn 2807) 问题描述:
给定2到15个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍。
比如给定1 4 3 2 9 7 18 22,得到的答案是3,因为2是1的两倍,4是2个两倍,18是9的两倍。
输入:
11
输入包括多组测试数据。每组数据包括一行,给出2到15个两两不同且小于100的正整数。每一行最后一个数是0,表示这一行的结束后,这个数不属于那2到15个给定的正整数。输入的最后一行只包括一个整数-1,这行表示输入数据的结束,不用进行处理。 输出:
对每组输入数据,输出一行,给出有多少个数对满足其中一个数是另一个数的两倍。 样例输入:
1 4 3 2 9 7 18 22 0 2 4 8 10 0
7 5 11 13 1 3 0 -1
样例输出: 3 2 0
CS11:肿瘤面积
(来源:poj.grids.cn 2713) 问题描述:
在一个正方形的灰度图片上,肿瘤是一块矩形的区域,肿瘤的边缘所在的像素点在图片中用0表示。其它肿瘤内和肿瘤外的点都用255表示。现在要求你编写一个程序,计算肿瘤内部的像素点的个数(不包括肿瘤边缘上的点)。已知肿瘤的边缘平行于图像的边缘。 输入:
只有一个测试样例。第一行有一个整数n,表示正方形图像的边长。其后n行每行有n个整数,取值为0或255。整数之间用一个空格隔开。已知n不大于1000。 输出:
输出一行,该行包含一个整数,为要求的肿瘤内的像素点的个数。 样例输入: 5
255 255 255 255 255 255 0 0 0 255 255 0 255 0 255 255 0 0 0 255
255 255 255 255 255 样例输出:
1
CS12:肿瘤检测
(来源:poj.grids.cn 2677) 问题描述:
12
一张CT扫描的灰度图像可以用一个N*N(0 输入第一行包含一个正整数N(0 输出只有一行,该行包含两个正整数,分别为给定图像中肿瘤的面积和周长,用一个空格分开。 样例输入: 6 99 99 99 99 99 99 99 99 99 50 99 99 99 99 49 49 50 51 99 50 20 25 52 99 40 50 99 99 99 99 99 99 99 99 99 99 样例输出: 9 8 CS13:垂直直方图 (来源:poj.grids.cn 2800) 问题描述: 输入4行全部由大写字母组成的文本,输出一个垂直直方图,给出每个字符出现的次数。注意:只用输出字符的出现次数,不用输出空白字符,数字或者标点符号的输出次数。 输入: 输入包括4行由大写字母组成的文本,每行上字符的数目不超过80个。 输出: 输出包括若干行。其中最后一行给出26个大写英文字母,这些字母之间用空格隔开。前面的几行包括空格和星号,每个字母出现几次,就在这个字母的上方输出一个星号。注意:输出的第一行不能是空行。 样例输入: THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG. THIS IS AN EXAMPLE TO TEST FOR YOUR HISTOGRAM PROGRAM. HELLO! 样例输出: 13
相关推荐:
- [学前教育]MC9S12XS256RMV1 xs128芯片手册4
- [学前教育]安东尼语录经典语录
- [学前教育]e级gps控制测量技术设计书
- [学前教育]苏教版2022-2022学年八年级下学期期末
- [学前教育]装修公司推广 营销
- [学前教育]家政服务合同(完整版)
- [学前教育]湖北省2016届高三联考语文试题
- [学前教育]爱立信无涯学习系统LTE题库1-LTE基础知
- [学前教育]揭秘大众柴油车作弊软件原理
- [学前教育]人才流失原因及对策分析
- [学前教育]房屋建筑施工工程劳务分包合同
- [学前教育]国际贸易实务试卷A卷09.6
- [学前教育]校园废品回收活动计划方案书范文格
- [学前教育]电大成本会计试题及答案
- [学前教育]大学物理实验 华南理工出版社 绪论答案
- [学前教育]爱丁堡产后抑郁量表
- [学前教育]液压冲击的危害、产生原因与防止方法(
- [学前教育]学生工作总结高一学生期中考试总结_020
- [学前教育]人民医院医疗废物管理规章制度大全
- [学前教育]阳光维生素的巨大抗癌潜能阅读题答案.d
- 马云在云锋基金江苏论坛闭幕式的发言
- 试论小学体育教育中的心理健康教育-教
- 语文A版一年级下册《语文乐园一》教学
- 2021四川大学物理化学考研真题经验参考
- [人教A版]2015-2016学年高中数学 第二
- 终端网点销售返利协议书
- 江苏省2015年眼科学主治医师青光眼考试
- 2017年部编人教版八年级语文上册教案
- 十一中学七年级英语上册Unit7Howmuchar
- 以赛促教的创新性实验教学机制建设实践
- 平凉市崆峒区2015七年级下生物期末试题
- 琶洲(地块五)A、B塔楼1、2#塔吊基础
- 一级医院工作制度与人员岗位职责
- 2018北京西城区高三二模理科数学试题及
- 炒股密码线技术 - 图文
- 职高学生生涯发展辅导教案
- 语文人教版四年级上册8 世界地图引出的
- 最新最新人教版二年级上册全册数学教案
- 2017高考英语全国2卷精彩试题(有问题
- 普通心理学笔记




