uva - 311 - Packets(贪心)
来源:互联网 发布:合金装备5幻痛捏脸数据 编辑:程序博客网 时间:2024/06/08 15:12
题意:1x1 到 6x6 的行李,要装在 6x6 的箱子里,求最小的箱子数。
方法:贪心。参考:http://blog.csdn.net/goomaple/article/details/7822004
2x2为负用1x1补正很好,希望大家借鉴。
AC代码:
#define Local#include <iostream> #include <iomanip> #include <string> #include <cstring> #include <cstdio> #include <queue> #include <stack> #include <algorithm> #include <cmath> #include <ctime> using namespace std; int p[7], sum;void judge_1(){if (p[2] < 0){p[1] += p[2] * 4;p[2] = 0;}}void judge_2(int a, int b){p[2] -= a;p[1] -= b;judge_1();}int main(){#ifdef Localfreopen("a.txt", "r", stdin);#endifwhile (true){int flag = 0;sum = 0;for (int i = 1; i <= 6; i++){cin >> p[i];flag += p[i];}if (!flag)break;sum += p[6];if (p[5]){sum += p[5];p[1] -= p[5] * 11;}if (p[4]){sum += p[4];p[2] -= p[4] * 5;judge_1();}if (p[3]){int mod = p[3] % 4;sum += p[3] / 4;if (mod){++sum;if (1 == mod)judge_2(5, 7);else if (2 == mod)judge_2(3, 6);else if (3 == mod)judge_2(1, 5);}}if (p[2] > 0){int mod = p[2] % 9;sum += p[2] / 9;if (mod){++sum;p[1] -= 36 - mod * 4;}}if (p[1] > 0){int mod = p[1] % 36;sum += p[1] / 36;if (mod)++sum;}cout << sum << endl;}return 0;}
0 0
- uva 311 Packets(贪心)
- uva - 311 - Packets(贪心)
- UVA - 311 Packets(贪心)
- uva 311 Packets(贪心)
- Uva 311 - Packets 解题报告(贪心)
- UVA 311 Packets(贪心 + 模拟)
- UVA 311 Packets 贪心+模拟
- Central Europe 1996 / UVa 311 / POJ 1017 Packets (贪心)
- uva311 - Packets(贪心)
- UVa 311 - Packets
- UVa 311 - Packets
- uva 311 - Packets
- uva 311 - Packets
- UVa 311 - Packets
- uva 311 Packets
- UVa:311 Packets
- uva 311 Packets
- uva 311Packets
- Tiny210(S5PV210) U-BOOT(六)----DDR内存配置
- Ubuntu下安装jdk
- vc 编译链接选项
- 面试题——整除问题Java实现
- 数据结构 - 冒泡排序(Bubble Sort) 详解 及 代码(C++)
- uva - 311 - Packets(贪心)
- linux太邪恶了
- OpenCV 2.4.8在mingw中读取摄像头
- 二叉搜索树(未完待续)
- C++ 派生类中的拷贝构造函数以及赋值运算符重载问题
- U-boot引导流程分析一
- 让cocos2dx 支持Staggered格式的tmx
- Hibernate 之 一级缓存
- sql server 数据库优化--显示执行计划