不知蓝书的标程在说什么,,,,于是自己想了一下。。。发现自己的代码短的一批。。。


限制搜索深度+枚举时从大往小枚举,以更接近n+bool判重,避免重复搜索

#include<cstdio>
#include<iostream>
#include<cstring>
#define R register int
using namespace std;
inline int g() {
R ret=; register char ch; while(!isdigit(ch=getchar()));
do ret=ret*+(ch^); while(isdigit(ch=getchar())); return ret;
}
int n,dep=;
int a[];
bool v[];
inline bool dfs(int crt) {
if(crt==dep+) return a[dep]==n;
for(R i=crt-;i>=;--i) for(R j=i;j>=;--j) {
if(a[i]+a[j]>n) continue;
if(a[i]+a[j]<=a[crt-]) break;
if(v[a[i]+a[j]]) continue;
a[crt]=a[i]+a[j]; if(dfs(crt+)) return true;
} return false;
}
signed main() {
while(n=g(),n!=) { dep=;
memset(a,,sizeof(a));memset(v,false,sizeof(v)); a[]=;
while(!dfs()) ++dep;
for(R i=;i<=dep;++i) printf("%d ",a[i]); putchar('\n');
}
}

2019.04.26

最新文章

  1. node.js Websocket实现扫码二维码登录---GoEasy
  2. Delphi 调用Dll的两种方式
  3. Javascript进度条
  4. 【Tree 1】树形结构数据呈现的递归算法实现
  5. ASP.NET MVC5---通过QueryString传值
  6. Flash剪贴板功能
  7. Transact-SQL 学习小结
  8. bzoj1934: [Shoi2007]Vote 善意的投票
  9. 如何将mysql表结构导出成Excel格式的(并带备注)
  10. C#中检查网络是否连通的二种方法
  11. css小工具
  12. Java 写三角形 空心三角形 菱形 空心菱形
  13. java从pdf中提取文本
  14. pytorch学习-AUTOGRAD: AUTOMATIC DIFFERENTIATION自动微分
  15. codeforces 1041A Heist
  16. 7. The British Thached Roof 英国的茅草屋顶
  17. 排查java进程cpu占用高的问题
  18. 20145221高其_Final
  19. PAT 1043 输出PATest(20)(代码+思路)
  20. Springmvc 的post请求的json格式参数

热门文章

  1. realsense and Mask_RCNN
  2. 728. Self Dividing Numbers可以自己除以自己的数字
  3. 665. Non-decreasing Array只允许修改一位数的非递减数组
  4. Python PyPI中国镜像
  5. open source libraries: BIAS
  6. CMake代码示例
  7. Linux gtypist
  8. 杀毒软件 avg
  9. java中为什么要使用代理
  10. [.net 多线程]Monitor