#include<stdio.h> #include <string.h> #include <math.h> void main() { int a[6],i,sum=0; for(i=0;i<6;i++) scanf("%d",&a[i]); for(i=5;i>=0;i--) { if(i==5&&a[i]!=0)//第六个物品的个数 sum=a[i]; if(i==4&&a[i]!=0)//第五个 { sum+=a[i]; if(a[i]*11>=a[0]) { a[0]=0; } else a[0]=a[0]-a[i]*11; } if(i==3&&a[i]!=0) { sum+=a[i]; if(a[i]*5>=a[1])//4个放完放两个,剩余的放一个 { if((a[i]*5-a[1])*4>a[0]) a[0]=0; else a[0]=a[0]-(a[i]*5-a[1])*4; a[1]=0; } else a[1]=a[1]-a[i]*5; } if(i==2&&a[i]!=0) { if(a[i]%4==0) sum+=a[i]/4; else sum+=a[i]/4+1; if(a[i]%4==1) { if(a[1]<=5) { if(a[0]<=(7+(5-a[1])*4)) a[0]=0; else a[0]=a[0]-(7+(5-a[1])*4); a[1]=0; } else { a[1]=a[1]-5; if(a[0]<=7) a[0]=0; else a[0]=a[0]-7; } } if(a[i]%4==2) { if(a[1]<=3) { if(a[0]<=(6+(3-a[1])*4)) a[0]=0; else a[0]=a[0]-(6+(3-a[1])*4); a[1]=0; } else { a[1]=a[1]-3; if(a[0]<=6) a[0]=0; else a[0]=a[0]-6; } } if(a[i]%4==3) { if(a[1]<=1) { if(a[0]<=(5+(1-a[1])*4)) a[0]=0; else a[0]=a[0]-(5+(1-a[1])*4); a[1]=0; } else { a[1]=a[1]-1; if(a[0]<=5) a[0]=0; else a[0]=a[0]-5; } } } if(i==1&&a[i]!=0) { if(a[i]%9==0) sum+=a[i]/9; else sum+=a[i]/9+1; if(a[0]<=36-(4*(a[i]%1))) a[0]=0; else a[0]=a[0]-(36-(4*(a[i]%9))); } if(i==0&&a[i]!=0) { if(a[i]%36==0) sum+=a[i]/36; else sum+=a[i]/36+1; } } printf("%d",sum); } |
Double click to view unformatted code.