poj 2248
2011-07-07 11:42
295 查看
#include<iostream>
#include<fstream>
using namespace std;
int n;
int ans;
int num[20];
int a[20];
void dfs(int s){
int i,j,k;
if(s>11||s>ans) return;
if(num[s]==n){
ans=s;
for(i=0;i<=ans;i++)
a[i]=num[i];
return;
}
for(i=s;i>=0;i--)
{
num[s+1]=num[s]+num[i];
if(num[s+1]>n) continue;
dfs(s+1);
}
}
void read(){
// ifstream cin("in.txt");
int i,j,k;
while(cin>>n){
if(n==0) return ;
num[0]=1;
ans=11;
dfs(0);
for(i=0;i<=ans;i++)
cout<<a[i]<<' ';
cout<<endl;
}
}
int main(){
read();
return 0;
}
#include<fstream>
using namespace std;
int n;
int ans;
int num[20];
int a[20];
void dfs(int s){
int i,j,k;
if(s>11||s>ans) return;
if(num[s]==n){
ans=s;
for(i=0;i<=ans;i++)
a[i]=num[i];
return;
}
for(i=s;i>=0;i--)
{
num[s+1]=num[s]+num[i];
if(num[s+1]>n) continue;
dfs(s+1);
}
}
void read(){
// ifstream cin("in.txt");
int i,j,k;
while(cin>>n){
if(n==0) return ;
num[0]=1;
ans=11;
dfs(0);
for(i=0;i<=ans;i++)
cout<<a[i]<<' ';
cout<<endl;
}
}
int main(){
read();
return 0;
}
相关文章推荐
- poj 2248 DFS+剪枝
- [zoj] 1937 [poj] 2248 Addition Chains || ID-DFS
- POJ 2248 Addition Chains
- POJ 2248 搜索
- POJ 2248 Addition Chains 笔记
- POJ2248 A Knight's Journey(DFS)
- POJ 2248解题报告
- poj 2248 Addition Chains dfs
- [POJ 2248]Addition Chains
- POJ 2248 迭代加深搜索
- poj 2248 Addition Chains(迭代加深搜索)
- POJ 2248
- POJ 2248 Addition Chains
- poj 2248 Addition Chains
- POJ2248 Addition Chains
- 【ZOJ 1937】 【POJ 2248】 Addition Chains
- poj 2248 Addition Chains dfs
- poj2248
- (poj 2248 Addition Chains)<DFS+剪枝>
- zoj 1937 || poj 2248 Addition Chains