poj1017----模拟

题目大意:

现有1*1,2*2,3*3,4*4,5*5,6*6规格的产品若干个(高度都为h),问最少需要多少个

6*6*h的箱子把这些产品都装完

输入:每组测试数据共6个整数,分别代表1*1,...6*6这些产品的数量

思路:

细心模拟就好

具体代码如:

/*
    6*6的产品独占一个箱子
    5*5产品需要一个箱子来装,剩下的空间只能用1*1的填充,且最多11个
    4*4产品需要一个箱子来装,剩下的空间可用5个2*2的填满,不足再用1*1的填
    4个3*3产品需要一个箱子来装,不足的用1*1,2*2填
*/

#include<iostream>
#include<cstdio>
using namespace std;
int a,b,c,d,e,f;
int main()
{
    freopen("in.txt","r",stdin);
    while(scanf("%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f)!=EOF)
    {
        int sum = 0;
        if((a+b+c+d+e+f)==0)
            break;
        sum=f+e+d;//4*4,5*5,6*6肯定都得要一个箱子才能装
        //c=1,2,3,4时都要一个箱子
        sum+=(c+3)/4;//3*3每四个装满一个箱子,不足四个也需要一个箱子,剩下的空间用1*1,2*2的填充
        //把1*1的箱子放到装5*5的箱子,计算出剩余的数量
        a = max(0,a-11*e);
        //把2*2的箱子放到装4*4的箱子,计算出剩余的数量
        b = b-d*5;
        if(b<0)//说明4*4的箱子装完2*2的产品后还有余
        {
            //2*2的产品相当于4个1*1的
            a = a+4*b;
        }
        else//2*2的产品还有余,填充到放3*3箱子
        {
            //根据3*3的数量,计算出剩余空间可放多少个1*1和2*2的产品
            if(c%4==1)
            {
                a = a-7;
                b=b-5;
            }
            else if(c%4==2)
            {
                a = a-6;
                b = b-3;
            }
            else if(c%4==3)
            {
                b = b -1;
                a=a-5;
            }
            if(b>0)//b还是大于0,另外加箱子放2*2的
            {
                int counts = (b+8)/9;
                sum+=counts;
                int num = 36 - (b%9)*4;
                a = a-num;
            }
            else
                a = a+b*4;
        }
        if(a>0)
            sum=sum+(a+35)/36;
        printf("%d\n",sum);
    }
}
时间: 2024-10-06 15:56:30

poj1017----模拟的相关文章

CentOS系统启动及内核大破坏模拟实验

讲过了centos的启动流程,此时是不是想来点破坏呢?那就尽情的玩耍吧,记得在实验之前拍个快照,万一哪个环节错误恢复不回来了呢,毕竟数据无价,话不多说,开始. 一.删除伪系统根.(ramdisk文件) (1)模拟误操作删除ramdisk文件. ①模拟误删除initramfs-3.10.0-514.el7.x86_64.img文件. ②为当前正在使用的内核重新制作ramdisk文件 格式为:mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) (

NYOJ 2356: 哈希计划【模拟】

题目描述 众所周知,LLM的算法之所以菜,就是因为成天打游戏,最近LLM突然想玩<金庸群侠传X>,结果进去后各种被虐,LLM就开始研究这个游戏的代码,顺便还学会了一点点点点lua语言,然后就开始了伟大的改游戏代码之旅,然后LLM发现自己too young了,这个游戏把所有的文本都进行了哈希,如果自己改了代码或者剧情文本的话它哈希出来的值就会和原来的哈希值不一样......然后游戏就会打不开.....,现在LLM发现了文本的哈希函数,要求你写个程序,功能为: 输入一段字符串,输出一个哈希值 为了

爬虫——模拟点击动态页面

动态页面的模拟点击: 以斗鱼直播为例:http://www.douyu.com/directory/all 爬取每页的房间名.直播类型.主播名称.在线人数等数据,然后模拟点击下一页,继续爬取 #!/usr/bin/python3 # -*- conding:utf-8 -*- __author__ = 'mayi' """ 动态页面的模拟点击: 模拟点击斗鱼直播:http://www.douyu.com/directory/all 爬取每页房间名.直播类型.主播名称.在线人数

爬虫——网站模拟登录

使用Selenium与PhantomJS模拟登录豆瓣:https://www.douban.com/ #!/usr/bin/python3 # -*- conding:utf-8 -*- __author__ = 'mayi' """ 模拟登录豆瓣:https://www.douban.com/ """ from selenium import webdriver # 调用环境变量指定的PhantomJS浏览器创建浏览器对象,executable

python爬虫 模拟登陆校园网-初级

最近跟同学学习爬虫的时候看到网上有个帖子,好像是山大校园网不稳定,用py做了个模拟登陆很有趣,于是我走上了一条不归路..... 先上一张校园网截图 首先弄清一下模拟登陆的原理: 1:服务器判定浏览器登录使用浏览器标识,需要模拟登陆 2: 需要post账号,密码,以及学校id python走起,我用的2.7版本,用notepad++写的,绑定python可以直接运行 由于是模拟网页登陆,需要导入urllib urllib2 cookielib库,前两个有与网页直接的接口,cookielib就是用来

Android模拟位置信息

Android模拟位置程序,俗称GPS欺骗,只能修改采用GPS定位的软件. 手机定位方式目前有4种:基站定位,WIFI定位,GPS定位,AGPS定位 常见的修改手法: 1. 抓包欺骗法,抓包改包欺骗服务器端, 但是得专门去针对某款app,而且现在很多app数据包都加密了 2. hook java层经纬度获取函数, 这个方法以前可以用,现在不行了 3. hook native层经纬度获取函数 4. 使用允许模拟地址位置信息(不是很通用有版本限制) 为了修改微信朋友圈地理位置信息,为了好玩 试过了上

CSU 1112: 机器人的指令【模拟题】

1112: 机器人的指令 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 1858  Solved: 682 [Submit][Status][Web Board] Description 数轴原点有一个机器人.该机器人将执行一系列指令,你的任务是预测所有指令执行完毕之后它的位置. ·LEFT:往左移动一个单位 ·RIGHT: 往右移动一个单位 ·SAME AS i: 和第i 条执行相同的动作.输入保证i 是一个正整数,且不超过之前执行指令数 In

Regionals 2015 &gt;&gt; Europe - Central &gt;&gt;7325 - Book Borders【模拟】

Europe - Central >>7325 - Book Borders 题目链接:7325 题目大意:给你一个字符串(含空格),每行x个字符,将单词排列进去,单词不能断开,问每行第一个单词的长度时多少,注意加空格 题目思路:直接模拟.第一个for遍历[a,b],第二个大致为n/a.复杂度大概为nlogn. 开两个数组,v[i]记录i这个位置所属的单词开始位置,e[v[i]]记录第i个位置所属的单词的结束位置. 然后每次判断这一行结尾,所在位置.如果在两个单词中间,则将该单词视为下一行开始

GNS 3模拟防火墙ASA

[模拟环境] 所使用的GNS3版本为0.7.4,如果低于这个版本,有些版本会缺少些选项无法支持. [ASA]     ASA有2种模式的编译文件,分别为单模式和多模式,可选择使用.我使用的是单模式,我试用过多模式,不太好用. [配置] 打开GNS3,编辑→首选项→Qemu→ASA:     添加单模式:Identifier name:asa802-k8-sing(自己填名称,但不能是中文)RAM:256(使用默认的256)Number of NICs:6(网卡数量,默认是6)NIC model:

hdu 5640 King&#39;s Cake(模拟)

Problem Description It is the king's birthday before the military parade . The ministers prepared a rectangle cake of size n×m(1≤n,m≤10000) . The king plans to cut the cake himself. But he has a strange habit of cutting cakes. Each time, he will cut