Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
给大家一段很好理解的代码参考参考!!苊花两天才搞定,囧~~~#include <cstdio> #include<cstring> int main(){ int i,an[10],sum,t,cnt; while(1){ memset(an,0,sizeof(an)); sum=0,cnt=0; for(i=1;i<=6;i++){ scanf("%d",&an[i]); cnt+=an[i]; } if(cnt==0) break; sum+=an[6]+an[5]+an[4]+(an[3]+3)/4; if(an[5]){ if(an[1]>an[5]*11) an[1]-=an[5]*11; else an[1]=0; } if(an[4]){ t=an[4]; if(an[2]>an[4]*5) {an[2]-=an[4]*5;cnt=0;} else {cnt=an[4]*5*4-an[2]*4;an[2]=0;} if(an[1]>cnt) an[1]-=cnt; else an[1]=0; } if(an[3]){ t=(an[3]+3)/4; cnt=36*t-9*an[3]; if(cnt==9){ if(an[2]>1) {t=5;an[2]-=1;} else {t=9-an[2]*4;an[2]=0;} if(an[1]>t) an[1]-=t; else an[1]=0; } else if(cnt==18){ if(an[2]>3){t=6;an[2]-=3;} else {t=18-an[2]*4;an[2]=0;} if(an[1]>t) an[1]-=t; else an[1]=0; } else if(cnt==27){ if(an[2]>5){t=7;an[2]-=5;} else {t=27-an[2]*4;an[2]=0;} if(an[1]>t) an[1]-=t; else an[1]=0; } } if(an[2]){ t=(an[2]+8)/9; sum+=t; if(an[1]>36*t-an[2]*4) an[1]-=36*t-an[2]*4; else an[1]=0; } if(an[1]) sum+=(an[1]+35)/36; printf("%d\n",sum); } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator