POJ 2248 搜索
2024-10-01 14:36:04
剪枝:
1.从后向前枚举
2.迭代加深
然后就0msAC了
//By SiriusRen
#include <cstdio>
using namespace std;
int n,T,s[105];
bool dfs(int t){
if(s[t]==n)return 1;
if(t>=T)return 0;
for(int i=t;i>=1;i--){
s[t+1]=s[i]+s[t];
if(dfs(t+1))return 1;
}
}
int main(){
s[1]=1;
while(scanf("%d",&n)&&n)
for(T=1;;T++)
if(dfs(1)){
for(int j=1;j<=T;j++)
printf("%d ",s[j]);
puts("");break;
}
}
最新文章
- iOS---设置输入框的光标位置
- 【跟着子迟品 underscore】JavaScript 中如何判断两个元素是否 ";相同";
- PHP编译错误Don&#39;t know how to define struct flock on this system, set --enable-opcache=no
- http断点续传原理
- 我的Cocos2dx开发模式
- bzoj1492[NOI2007]货币兑换Cash cdq分治+斜率优化dp
- 如何在启用JWT Token授权的.NET Core WebApi项目中下载文件
- mysql5.7.20 windows 解压缩版安装
- Sublime text3 插件HTML/CSS/JS prettify 格式化代码
- 12 文件查找--find命令
- 管道| , <;<;<;重定向
- linux添加计划任务
- Python知识(5)--绘图
- OpenCV Harris 角点检测子
- vue 整体引入 mint-ui 样式失败
- 【转】odoo11新功能及绿色版汇总
- 洛谷【P1142】轰炸
- linux下kill某个应用
- python二维数组初始化
- 在Ubuntu下获取Android4.0源代码并编译(一)