poj 1950 Dessert

发布时间:2016-12-11 4:55:51 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"poj 1950 Dessert",主要涉及到poj 1950 Dessert方面的内容,对于poj 1950 Dessert感兴趣的同学可以参考一下。

 咋感觉这搜索都忘得一干二净了啦,哎,基础功太差了,得深山苦练20年啊。 #include<cstdio> #include<iostream> #define N 20 using namespace std; char sym[N]; int n,num; void display() { for(int i=1;i<n;++i) printf("%d %c ",i,sym[i]); printf("%d\n",n); } void dfs(int sum,int i,int pre) { if(i==n) { if(sum==0) { num++; if(num<=20) display(); } return; } sym[i] = '+'; int next = i + 1; dfs(sum+next,i+1,next); sym[i] = '-'; dfs(sum-next,i+1,next); sym[i] = '.'; if(i < 9) next = pre*10+i+1; else next = pre*100+i+1; int k = i-1; while(sym[k]=='.') k--; if(sym[k]=='+') dfs(sum-pre+next,i+1,next); else dfs(sum+pre-next,i+1,next); } int main(void) { scanf("%d",&n); sym[0]= '+'; num = 0; dfs(1,1,1); cout<<num<<endl; return 0; }

上一篇:C++智能指针 intrusive_ptr
下一篇:uva 11054 Wine trading in Gergovia

相关文章

关键词: poj 1950 Dessert

相关评论