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 |
当我傻傻的算立体,wa了n次还独自徘徊,蓦然回首间,点了一下discuss,瞬间整个世界都温暖了。。。rt #include<iostream> #include<stdio.h> #include<math.h> #include<stdlib.h> #include<algorithm> using namespace std; #define N 7 int s[N]; int main() { int i,sum,n,tmps,tmpk; while(1) { sum=0; n=0; int a[4]={0,5,3,1}; for(i=0;i<6;i++) scanf("%d",&s[i]); if(!s[0]&&!s[1]&&!s[2]&&!s[3]&&!s[4]&&!s[5]) break; n+=s[5]+s[4]+s[3]+(s[2]+3)/4; sum=5*s[3]+a[s[2]%4]; if(s[1]>sum) n+=(s[1]-sum+8)/9; sum=36*n-36*s[5]-25*s[4]-16*s[3]-9*s[2]-4*s[1]; if(s[0]>sum) n+=(s[0]-sum+35)/36; #if 0 n+=s[5]+s[4]+s[3]; if(s[4]) { if(s[0]>s[4]*91) s[0]-=s[4]*91; else s[0]=0; } if(s[3]) { if(s[1]>s[3]*19) { s[1]-=s[3]*19; } else { tmps=s[1]%19; tmpk=s[1]/19; sum=(s[3]-tmpk-1)*152+(216-tmps*64); if(s[0]>sum) s[0]-=sum; else s[0]=0; s[1]=0; } } if(s[2]) { n+=s[2]/8; tmps=s[2]%8; if(tmps){ n++; switch(tmps) { case 0:break; case 1:tmpk=19;break; case 2:tmpk=15;break; case 3:tmpk=10;break; case 4:tmpk=9;break; case 5:tmpk=4;break; case 6:tmpk=3;break; case 7:tmpk=1;break; } if(s[1]>tmpk) { s[1]-=tmpk; sum=216-tmps*27-tmpk*8; } else { sum=216-s[1]*8-tmps*27; s[1]=0; } if(s[0]>sum) s[0]-=sum; else s[0]=0; } } if(s[1]) { n+=s[1]/27; tmps=s[1]%27; if(tmps) { n++; sum=216-tmps*8; if(s[0]>sum) s[0]-=sum; else s[0]=0; } } if(s[0]) { n+=s[0]/216; if(s[0]%216!=0) n++; } #endif printf("%d\n",n); } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator