#include <stdio.h> #include <string.h> int main(){ int a[7] = {0}; for(int i=1;i<7;i++){ scanf("%d",&a[i]); } int sum = a[6]+a[5]+a[4]+(a[3]+3)/4; //保底使用 int save2 = a[4]*5+(7-(a[3]%4)*2);//所剩空间如果存2*2能存几个 int save1 = a[5]*11+a[4]*20+(36-(a[3]%4)*9);//所剩空间如果存1*1能存几个 if(a[2]<=save2){//2*2个数小于能存个数 sum不变 save1 -= save2*4;//能存1*1个数变小 if(a[1]>save1){//如果1*1个数比能存的小 sum不变 如果大 则另外需要多少来存1*1 sum+=(a[1]-save1+35)/36; } }else{//2*2个数大于能存个数 sum增加 sum+=(a[2]-save2+8)/9; save1 = save1-save2*4+(36-((a[2]-save2)%4)*4);//1*1能存位置增加 if(a[1]>save2){ sum+=(a[1]-save1+35)/36; } } printf("%d\n",sum); } |
Double click to view unformatted code.