POJ1017 【据说是贪心...】
题意:
有6种面积的格子,给出这些格子的数量,然后有6*6的格子去容纳这6种面基,问最少需要几个6*6格子,使得所有类型的小格子被容纳。
思路:
按照面积的从大到小放。
一开始还是太天真,还要用各种1去补,wa了一发…
具体都在代码那里注释了
贴一发瞎写的挫code……….
#include <iostream>
#include <cstdio>
#include<vector>
#include <cstring>
#include <algorithm>
using namespace std;
typedef __int64 LL;
int a[10];
int main()
{
while(1)
{
bool flag=false;
for(int i=1;i<=6;i++)
{
scanf("%d",&a[i]);
if(a[i])
flag=true;
}
if(!flag)
break;
int ans=0;
ans+=a[6];
if(a[5])
{
ans+=a[5]; //5 只能一个
if(a[1]<=11*a[5]) //用 1 去填
a[1]=0;
else
a[1]-=11*a[5];
}
if(a[4])
{
ans+=a[4];
if(a[2]<=5*a[4]) //如果在那么里面,2 填完,上 1
{
int x=a[4]*36-16*a[4]-a[2]*4; //剩下的 1 的数量
if(a[1]<=x)
a[1]=0;
else
a[1]-=x;
a[2]=0;
}
else //这里填了 4 后剩下的区域都是 2 填
a[2]-=5*a[4];
}
if(a[3])
{
ans+=a[3]/4; //4个3正好填满
int x=a[3]%4;
if(x==1) //剩一个3
{
ans+=1;
if(a[2])
{
if(a[2]<=5) //一个3以后最多填5个2,这里是 2 不够了
{
int y=36-9-a[2]*4;
if(a[1]<=y)
a[1]=0;
else
a[1]-=y;
a[2]=0;
}
else
{
a[2]-=5; //这里是2够的,只能+11 个 1
if(a[1]<=11)
a[1]=0;
else
a[1]-=11;
}
}
}
else if(x==2)
{
ans+=1;
if(a[2]<=3) //两个3以后最多天3个2,这里是不够
{
int y=36-18-a[2]*4; //用1补
if(a[1]<=y)
a[1]=0;
else
a[1]-=y;
a[2]=0;
}
else //2够的话,最多填6个1
{
if(a[1]<=6)
a[1]=0;
else
a[1]-=6;
a[2]-=3;
}
}
else if(x==3)
{
ans+=1;
if(a[2]<=1) //最多只能填1个 2 ,不够
{
int y=9-a[2]*4;
if(a[1]<=y) //用1补
a[1]=0;
else
a[1]-=y;
a[2]=0;
}
else
{
if(a[1]<=5) //2够的话,只能上5个 1
a[1]=0;
else
a[1]-=5;
a[2]-=1;
}
}
}
if(a[2])
{
ans+=a[2]/9; //9个2正好填满
int x=a[2]%9;
if(x) //2*2还有的多
{
ans+=1;
int y=36-x*4; //用1补
if(a[1]<=y)
a[1]=0;
else
a[1]-=y;
}
}
if(a[1])
{
ans+=a[1]/36; //36个1*1正好填满
int x=a[1]%36;
if(x) //不够补。
ans++;
}
printf("%d\n",ans);
}
return 0;
}
POJ1017 【据说是贪心...】的更多相关文章
- poj-1017 Packets (贪心)
http://poj.org/problem?id=1017 工厂生产高度都为h,长和宽分别是1×1 2×2 3×3 4×4 5×5 6×6的6种规格的方形物品,交给顾客的时候需要包装,包装盒长宽高都 ...
- 最少拦截系统(杭电1257)(DP)+(贪心)
最少拦截系统 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
- Codeforce 835B - The number on the board (贪心)
Some natural number was written on the board. Its sum of digits was not less than k. But you were di ...
- POJ-2181 Jumping Cows(贪心)
Jumping Cows Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7329 Accepted: 4404 Descript ...
- Jump Game I&&II——入门级贪心算法
Jump Game I Given an array of non-negative integers, you are initially positioned at the first index ...
- BZOJ1150 [CTSC2007] 数据备份Backup 贪心_堆_神题
Description 你在一家 IT 公司为大型写字楼或办公楼(offices)的计算机数据做备份.然而数据备份的工作是枯燥乏味 的,因此你想设计一个系统让不同的办公楼彼此之间互相备份,而你则坐在家 ...
- C/c.pp:贪心,二分答案
说是贪心有点牵强. 其次,答案满足单调性,如果在k次操作能完成那么在k+1次操作内也能完成. 因为大不了你就把多的一次对方操作再进行一次就好了. 怎么操作呢? 我们从头扫这个序列,遇到每一个不匹配位置 ...
- 修理牛棚 贪心 USACO
今天开始终于可以刷USACO的题啦 准备每一道都发一个题解 1010: 1.3.2 Barn Repair 修理牛棚 时间限制: 1 Sec 内存限制: 128 MB提交: 9 解决: 7[提交] ...
- hdu4864 贪心
题意: 给你n太机器,m个任务,每个任务和机器都有两个权值x,y,每个机器只能被一个任务使用,条件是机器的两个权值分别比任务的大于等于,每个任务获得的价值是x*500+y*2,问你最多能 ...
随机推荐
- mmall 项目实战(一)项目初始化
1.创建 数据库 及 表 数据脚本: /* Navicat Premium Data Transfer Source Server : 182.92.82.103 Source Server Type ...
- EF Core使用SQL调用返回其他类型的查询 ASP.NET Core 2.0 使用NLog实现日志记录 CSS 3D transforms cSharp:use Activator.CreateInstance with an Interface? SqlHelper DBHelper C# Thread.Abort方法真的让线程停止了吗? 注意!你的Thread.Abort方法真
EF Core使用SQL调用返回其他类型的查询 假设你想要 SQL 本身编写,而不使用 LINQ. 需要运行 SQL 查询中返回实体对象之外的内容. 在 EF Core 中,执行该操作的另一种方法 ...
- USB/IP项目总结
青云最近推出了云桌面功能,用户可以像使用本地计算机一样访问远程主机,支持USB重定向,不禁让我想起了2年前调试的一个开源项目USB/IP,当时还用英文写了一个总结性文档,放在这里方便以后查看. ...
- java的多态以及重载,重写,前期绑定,后期绑定
多态的定义: 一个类实例的相同方法在不同情形有不同表现形式.多态机制使具有不同内部结构的对象可以共享相同的外部接口.这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通 ...
- appium 控件定位
转自:http://www.2cto.com/kf/201410/340345.html AppiumDriver的各种findElement方法的尝试,尝试的目标应用是SDK自带的Notepad应用 ...
- Canvas坐标轴中的Y轴距离是X轴的两倍
如题,相信很多人在初次玩canvas的时候会出现这样的情况,跟着教程走的情况下,诶 怎么画出来的东西,不怎么对劲啊,,,ԾㅂԾ,,!!!!!先上代码 <!DOCTYPE html> < ...
- 嵌入式开发之davinci--- 8148/8168/8127 中的添加算饭scd 场景检测 代码实现
http://blog.csdn.net/mianhuantang848989/article/details/38035731 http://www.61ic.com/Article/DaVinci ...
- 杭电1596find the safest road(spfa)
find the safest road Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- android 图片内存问题
在android开发过程中,经常遇到oom的问题,原因有很多种,其中最难处理的是图片造成的oom,于是在网络上对比了几个图片加载的库,最终选择了Facebook的fresco库(github地址:ht ...
- jQuery整理笔记九----功能性表格开发
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/hai_cheng001/article/details/27536965 演示样例中用到的一些图片. ...