博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uva311 - Packets(贪心)
阅读量:6089 次
发布时间:2019-06-20

本文共 1317 字,大约阅读时间需要 4 分钟。

题目大意:给出1*1, 2*2,3 *3, 4*4, 5*5, 6*6的箱子的个数,如今有若干个6*6的箱子,问最少用多少个箱子能够将给定的箱子都装进去。

解题思路:对于6 * 6的箱子,每一个都要耗费一个箱子。

                 对于5 * 5的箱子, 装完这个后还能再装11个1 * 1.

                 对于 4 * 4的箱子,装完这个后还能装5个2 * 2,然后2 * 2 的不够能够用1 * 1 的补足。

                对于3 * 3 的箱子,情况有3:

                                                          1个3 * 3的箱子, 5 个 2 * 2 的箱子, 7个 1 * 1;

                                                          同上诉格式:2 3 6

                                                                                3 1 5

                 对于须要2的,不足的话就用1的.

代码:

#include 
const int N = 6;int packets[N];//补足2*2的空缺void need () { if (packets[1] < 0) { packets[0] += packets[1] * 4; packets[1] = 0; }}//推断3*3的特殊的情况void judge (int a, int b) { packets[1] -= a; packets[0] -= b; need();}int solve () { int sum = packets[5]; int temp; for (int i = N - 2; i >= 1; i--) { if (i == 4) { sum += packets[i]; packets[0] -= 11 * packets[i]; } else if (i == 3) { sum += packets[i]; packets[1] -= packets[i] * 5; need(); } else if (i == 2) { sum += packets[i] / 4; packets[i] %= 4; if (packets[i] == 3) { sum++; judge(1,5); } else if (packets[i] == 2) { sum++; judge(3,6); } else if (packets[i] == 1) { sum++; judge(5,7); } } else { temp = packets[1] * 4; if (packets[0] > 0) temp += packets[0]; sum += (temp + 35)/ 36; } } return sum;}int main () { int count; while (1) { count = 0; for (int i = 0; i < N; i++) { scanf ("%d", &packets[i]); count += packets[i]; } if (!count) break; printf ("%d\n", solve()); } return 0;}

转载地址:http://ynlwa.baihongyu.com/

你可能感兴趣的文章
java:泛型|RandomList
查看>>
iptables 开放所有端口, 对特殊端口只开放给指定IP
查看>>
Xtradb+Haproxy高可用数据库集群(三)sysbench性能测试篇
查看>>
彻底理解Cisco NAT内部的一些事
查看>>
Android官方开发文档Training系列课程中文版:管理Activity的生命周期之Activity的重建...
查看>>
自动化运维工具Ansible之roles
查看>>
MongoDB分片搭建
查看>>
5、Jenkins Email Extension Plugin插件使用说明
查看>>
Flex(mx:DataGrid)实现数据过滤显示
查看>>
中国ERP三大流程 国外ERP黯然失色
查看>>
js 的 slice方法
查看>>
Java网络编程(一)流
查看>>
Unix整理笔记——安全性——里程碑M13
查看>>
【斗医】【1】Web应用开发20天
查看>>
Yii 2 —— session
查看>>
烂泥:haproxy学习之https配置
查看>>
给C语言初学者的忠告——计算机达人成长之路(27)
查看>>
【思考】互联网产业发展趋势
查看>>
Vmware view 5.0 POC环境搭建参考v1.0
查看>>
编程小知识点范例-1
查看>>