POJ 2248 搜索

来源:互联网 发布:mysql 添加子分区 编辑:程序博客网 时间:2024/06/06 12:55

剪枝:
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;            }}

这里写图片描述

0 0
原创粉丝点击