装箱问题(信息学奥赛一本通-T1226)
生活随笔
收集整理的這篇文章主要介紹了
装箱问题(信息学奥赛一本通-T1226)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
【題目描述】
一個(gè)工廠制造的產(chǎn)品形狀都是長(zhǎng)方體,它們的高度都是h,長(zhǎng)和寬都相等,一共有六個(gè)型號(hào),他們的長(zhǎng)寬分別為1*1,2*2,3*3,4*4,5*5,6*6。這些產(chǎn)品通常使用一個(gè)6*6*h的長(zhǎng)方體包裹包裝然后郵寄給客戶。因?yàn)猷]費(fèi)很貴,所以工廠要想方設(shè)法的減小每個(gè)訂單運(yùn)送時(shí)的包裹數(shù)量。他們很需要有一個(gè)好的程序幫他們解決這個(gè)問(wèn)題從而節(jié)省費(fèi)用。現(xiàn)在這個(gè)程序由你來(lái)設(shè)計(jì)。
【輸入】
輸入文件包括幾行,每一行代表一個(gè)訂單。每個(gè)訂單里的一行包括六個(gè)整數(shù),中間用空格隔開,分別為1*1至6*6這六種產(chǎn)品的數(shù)量。輸入文件將以6個(gè)0組成的一行結(jié)尾。
【輸出】
除了輸入的最后一行6個(gè)0以外,輸入文件里每一行對(duì)應(yīng)著輸出文件的一行,每一行輸出一個(gè)整數(shù)代表對(duì)應(yīng)的訂單所需的最小包裹數(shù)。
【輸入樣例】
0 0 4 0 0 1
7 5 1 0 0 0
0 0 0 0 0 0
【輸出樣例】
2
1
【源程序】
#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<algorithm> #define INF 999999999 #define N 101 using namespace std;int main() {int a,b,c,d,e,f;int g[4]={0,5,3,1};int x,y;while(cin>>a>>b>>c>>d>>e>>f){if(a+b+c+d+e+f==0)break;int n=f+e+d+(c+3)/4;x=5*d+g[c%4];if(b>x)n+=(b-x+8)/9;y=36*n-36*f-25*e-16*d-9*c-4*b;if(a>y)n+=(a-y+35)/36;cout<<n<<endl;}return 0; }?
總結(jié)
以上是生活随笔為你收集整理的装箱问题(信息学奥赛一本通-T1226)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C++ 通讯录管理系统实验报告
- 下一篇: 确定比赛名次(HDU-1285)