当前位置 : 主页 > 网页制作 > HTTP/TCP >

POJ_1017

来源:互联网 收集:自由互联 发布时间:2021-06-16
http://poj.org/problem?id=1017 // POJ_1017 // 参考https: // www.cnblogs.com/MashiroSky/p/5928053.html #includestdio.h int max( int a, int b){ if (a b){ return a; } else { return b; }} int main(){ int result,b[ 7 ]; while (scanf( " %d %d %

http://poj.org/problem?id=1017

//POJ_1017
//参考https://www.cnblogs.com/MashiroSky/p/5928053.html 
#include<stdio.h>
int max(int a,int b){
    if(a>b){
        return a;
    }
    else{
        return b;
    }
}
int main(){
    int result,b[7];
    while(scanf("%d %d %d %d %d %d",&b[1],&b[2],&b[3],&b[4],&b[5],&b[6])!=EOF&&(b[1]+b[2]+b[3]+b[4]+b[5]+b[6]!=0)){
        result = 0;
        result += b[6];
        result += b[5];
        b[1] = max(0,b[1]-11*b[5]);//用1号方块把5号方块剩余部分填满 
        result += b[4];
        if(b[2]>b[4]*5){//2号填5号 
            b[2] -= b[4]*5;
        }
        else{
            b[1] = max(0,b[1]-4*(b[4]*5-b[2]));//用1号填满4,2号剩下的部分 
            b[2] = 0;
        }
        result += (b[3]+3)/4;//b[3]1~4个一箱,往后叠加 
        b[3] %= 4;
        if(b[3]){
            if(b[2]>=7-2*b[3]){//3号箱i个可以装j个2号箱,i={1,2,3} j={5,3,1} 
                b[2] -= 7-2*b[3];
                b[1] = max(0,b[1]-(8-b[3]));//用i个1号箱填满j个3号箱剩余部分j={1,2,3},i={7,6,5} 
            }
            else{
                b[1] = max(0,b[1]-(36-9*b[3]-4*b[2]));
                b[2] = 0;
            }
        }
        result += (b[2]+8)/9;
        b[2] %= 9;
        if(b[2]){
            b[1] = max(0,b[1]-(36-4*b[2]));
        }
        result += (b[1]+35)/36;
        printf("%d\n",result);
    }
    return 0;
} 
网友评论