pku 1017 贪心
来源:互联网 发布:日语翻译软件那个最好 编辑:程序博客网 时间:2024/05/05 05:59
题目大意就是在一个6*6的盒子里,放一些不同大小的方片 1*1、2*2、......6*6
求把所有方片放下所需盒子的最小数量
用sum记录
对于6*6的方片,必须得用一个盒子 sum+=num[6];
对于5*5的方片,首先必须用一个盒子才能将其装下,所以sum+=num[5];剩下的空间只能装1*1的方片了,所以判断num[1]与11的大小,
num[1]>11?num[1]-=11:num[1]=0;
4*4的方片,也需占用一个盒子——sum+=num[4],剩下的空间可以装下5个2*2的方片,于是首先用2*2的方片来填,2*2的不够了,再用1*1的来填
3*3的方片,一个盒子可以装下四个, 所以sum+=num[3]%4?num[3]/4+1:num[3]/4;
3*3的方片没装满的情况分类讨论了: 对于只装了1个3*3方片的盒子 还能放下5个2*2的方片及7个1*1的方片
对于只装了2个3*3方片的盒子 还能放下3个2*2的方片及6个1*1的方片
对于只装了3个3*3方片的盒子 还能放下1个2*2的方片及5个1*1的方片
至于2*2的方片和1*1的方片就比较简单了
我的代码:
#include <iostream>
#include <map>
#include <stdio.h>
#include <algorithm>
#include <cstring>
using namespace std;
int num[7];
int main()
{
while (1)
{
int i(1);
while (i<=6)
cin>>num[i++];
bool pan(0);
i=1;
while (i<=6)
{
if (num[i])
{
pan=1;
break;
}
++i;
}
if (!pan) break;
int sum(0);
int sub;
sum+=num[6];
sum+=num[5];
sub=num[5]*11;
if (num[1]>=sub) num[1]-=sub;
else num[1]=0;
sum+=num[4];
sub=5*num[4];
if (num[2]>=sub) num[2]-=sub,sub=0;
else
{
sub-=num[2];
num[2]=0;
}
sub*=4;
if (num[1]>=sub) num[1]-=sub;
else num[1]=0;
if (num[3]%4==0)
sum+=num[3]/4;
else
{
sum+=num[3]/4+1;
sub=num[3]%4;
num[1]-=8-sub;
sub=7-2*sub;
if (num[2]>=sub) num[2]-=sub,sub=0;
else
{
sub-=num[2];
num[2]=0;
}
sub*=4;
if (num[1]>=sub) num[1]-=sub;
else num[1]=0;
}
if (num[2]%9)
{ sum+=num[2]/9+1;
num[2]%=9;
sub=36-4*num[2];
if (num[1]>=sub) num[1]-=sub;
else num[1]=0;
}
else sum+=num[2]/9;
if (num[1]%36)
sum+=num[1]/36+1;
else sum+=num[1]/36;
cout<<sum<<endl;
}
return 0;
}
- pku 1017 贪心
- pku 1328(贪心)
- pku 1018 ( 贪心 )
- pku 1323(贪心)
- PKU 1065 贪心求值
- [贪心]PKU Stripies
- pku-1328 我的贪心
- pku 1328 Radar Installation(贪心)
- PKU 1659 Frogs' Neighborhood - 贪心 Havel定理
- pku 3253 Fence Repair(哈夫曼树,贪心)
- pku 3038 Flying Right 贪心 解题报告
- pku 1944 Fiber Communications(枚举+贪心)
- 简单的排序+贪心 pku 1089_Intervals
- pku 3017 Cut the Sequence(贪心不是可以滥用的。。)
- HDU 2333 / PKU 3497 (贪心算法+二分)
- PKU 1042 Gone Fishing 解题报告(枚举 + 贪心)
- Pku oj 3617 Best Cow Line(贪心)
- pku 1017 水题不水
- UVA 100 The 3n + 1 problem
- POJ_3278_广搜
- Source Insight中文字体设置
- Ajax 总结
- Java5.0垃圾回收性能调优-1、简介,2、Ergonomics工效学[Vange译]
- pku 1017 贪心
- 周邓之旅
- C++字符串
- 电厂ERP管理软件
- CxxTest的环境配置
- Struts2 : Cannot find the tag library descriptor for /struts-tags in JSP 错误的可能原因
- 如何批量删除WORD中的空白行
- A * 算法
- VMware 6.5 下GuestOS桥接方式上网