zoukankan      html  css  js  c++  java
  • POJ 1017

    #include<iostream>
    
    
    using namespace std;
    
    
    int main()
    {
    int s1[4]={0,7,6,5}; //根据n3%4,判断此包中填入3*3,尽可能填2*2后还能填入1*1的个数(数组下标分别对应取余的0,1,2,3)
    int s2[4]={0,5,3,1}; //根据n3%4,判断此包中填入3*3后还能填入的2*2的个数
    int n1,n2,n3,n4,n5,n6,t1,t2,sum;
    while(cin>>n1>>n2>>n3>>n4>>n5>>n6&&n1+n2+n3+n4+n5+n6!=0)
    {
    
    
    sum=n6+n5+n4+n3/4; //先计算出填完6,5,4,3所需的包的个数
    if(n3%4!=0) //如果3*3填完后有剩余,补充一个包
    sum++;
    t2=5*n4+s2[n3%4]; //所能填入的2*2的包
    t1=11*n5+s1[n3%4]; //所能填入的1*1的包
    n2-=t2; //将2*2填入后还能填入的2*2的个数
    
    
    if(n2>0) //如果n2大于0,则在补充包
    {
    sum+=n2/9;
    if(n2%9) //仍有剩余,继续补充一个
    {
    ++sum;
    t1+=36-(n2%9)*4; // 填入2*2后剩余的需用1*1的补充
    }
    }
    else
    t1-=n2*4; //如果n2小于0,则需用1*1补充
    n1-=t1; //所能填入的1*1的包
    
    
    if(n1>0) //同n2,添加1*1的包
    {
    sum+=n1/36;
    if(n1%36)//若仍有剩余,再添加一个
    ++sum;
    }
    cout<<sum<<endl;
    }
    return 0;
    }

  • 相关阅读:
    day14(JavaDoc)
    day15(Java流程控制)
    day12
    day.6
    day10
    day11(运算符)
    day.5
    proc -x cshell fork()
    I/O -x 标准IO fopen-fclose--fgetc-fputc--fgets-fputs--fwrite-fread--fprintf-fscanf
    I/O -x open()-read()-write()-close()-lseek()
  • 原文地址:https://www.cnblogs.com/zhangmingzhao/p/7256486.html
Copyright © 2011-2022 走看看