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);
}
}
poj1017----模拟的更多相关文章
- Packets(模拟 POJ1017)
Packets Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 47750 Accepted: 16182 Description ...
- App开发:模拟服务器数据接口 - MockApi
为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...
- 故障重现, JAVA进程内存不够时突然挂掉模拟
背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...
- Python 爬虫模拟登陆知乎
在之前写过一篇使用python爬虫爬取电影天堂资源的博客,重点是如何解析页面和提高爬虫的效率.由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了 ...
- HTML 事件(四) 模拟事件操作
本篇主要介绍HTML DOM中事件的模拟操作. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三) 事件流与事件委托 4. ...
- 模拟AngularJS之依赖注入
一.概述 AngularJS有一经典之处就是依赖注入,对于什么是依赖注入,熟悉spring的同学应该都非常了解了,但,对于前端而言,还是比较新颖的. 依赖注入,简而言之,就是解除硬编码,达到解偶的目的 ...
- webapp应用--模拟电子书翻页效果
前言: 现在移动互联网发展火热,手机上网的用户越来越多,甚至大有超过pc访问的趋势.所以,用web程序做出仿原生效果的移动应用,也变得越来越流行了.这种程序也就是我们常说的单页应用程序,它也有一个英文 ...
- javascript动画系列第一篇——模拟拖拽
× 目录 [1]原理介绍 [2]代码实现 [3]代码优化[4]拖拽冲突[5]IE兼容 前面的话 从本文开始,介绍javascript动画系列.javascript本身是具有原生拖放功能的,但是由于兼容 ...
- C++ 事件驱动型银行排队模拟
最近重拾之前半途而废的C++,恰好看到了<C++ 实现银行排队服务模拟>,但是没有实验楼的会员,看不到具体的实现,正好用来作为练习. 模拟的是银行的排队叫号系统,所有顾客以先来后到的顺序在 ...
- MSYS2——Windows平台下模拟linux环境的搭建
最近从MSYS1.0迁移到了MSYS2.0,简单讲,MSYS2.0功能更强大,其环境模拟更加符合linux.虽然本身来自cygwin,但其集成了pacman软件管理工具,很有linux范,并且可以直接 ...
随机推荐
- 品味性能之道<六>:图形化SQL分析工具
在上一章里,重点分享了命令行SQL分析工具的使用方法.在本章将重点分享PL/SQL的SQL分析工具. 一.如何打开PL/SQL执行计划 开启PL/SQL这工具,推荐如下方法: 点击 ...
- 品味性能之道<五>:SQL分析工具
一.SQL语句到底是怎么执行的? 想了解SQL语句到底是怎么执行的,那就需要进行SQL语句执行计划分析. 那什么是SQL语句执行计划呢? 就是Oracle服务器执行SQL语句的过程.例如确定是否使用索 ...
- 移动端web及app设计尺寸
转载 2017年07月27日 22:48:16 984 移动端高清.多屏适配方案 背景 开发移动端H5页面 面对不同分辨率的手机 面对不同屏幕尺寸的手机 视觉稿 在前端开发之前,视觉MM会给我们一个p ...
- highcharts点击事件系列
http://www.highcharts.com/demo/line-ajax 参考设置(bar 柱状图) plotOptions: { series: { ...
- 移动文件读/写指针----lseek
头文件:#include<sys/types.h>.#include<unistd.h> 函数原型:off_t lseek(int fildes,off_t offset,in ...
- 常用C字符串函数
static void str_repalce(char *src,char *from,char *to) { char *p,*q; int lenFrom; int le ...
- arduino 与 android 通过TCP进行字节收发
arduino #include <avr/wdt.h> #include <SoftwareSerial.h> #define FPIN 13 SoftwareSerial ...
- ardunio 实现RS485通讯-下位机
#include <SoftwareSerial.h> SoftwareSerial mySerial(,); byte ZERO=0x00; byte Addr=0x03; byte S ...
- Caused by: java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut aaa
这个错误是说,找不到这个注释: 解决方案: 1.更改自己本机的jdk版本(我的更改了无效): 在工程选择框内点击右键--->build path----->Library--->ad ...
- Windows10和CentOS7双系统安装的一些小技巧
我个人是先安装好了win10系统,且win10是单独在一个120g的盘里:而centOS7则是安装在另一个500g的磁盘的其中的380g里: 这里要着重注意的是,500g里分成380g的盘不要在win ...