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 |
Re:拙代码,供大家参考In Reply To:拙代码,供大家参考 Posted by:TSERROF at 2012-09-17 16:15:07 > > #include <cstdio> > using namespace std; > int marble[6]; > bool DFS(int sum) > { > if(sum==0)return true; > for(int i=6;i>0;--i) > { > if(sum>=i && marble[i-1]>0) > { > --marble[i-1]; > int t=sum-i; > if(DFS(t))return true; > } > } > return false; > } > int main() > { > int s=1; > while(scanf("%d%d%d%d%d%d",&marble[0],&marble[1],&marble[2],&marble[3],&marble[4],&marble[5])!=EOF && (marble[0]!=0 || marble[1]!=0 ||marble[2]!=0 || marble[3]!=0 || marble[4]!=0 ||marble[5]!=0)) > { > int sum=marble[0]+marble[1]*2+marble[2]*3+marble[3]*4+marble[4]*5+marble[5]*6; > if(sum%2) > { > printf("Collection #%d:\nCan't be divided.\n\n",s++); > continue; > } > else > { > if(DFS(sum/2))printf("Collection #%d:\nCan be divided.\n\n",s++); > else printf("Collection #%d:\nCan't be divided.\n\n",s++); > } > } > return 0; > } --marble[i-1]; 之后执行DFS(t) 再之后不要把它加上? Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator