程序员人生 网站导航

poj 3134 Power Calculus iddfs(迭代深搜)

栏目:php教程时间:2015-05-21 08:18:29

iddfs入门题。

//poj 3134 //sep9 #include <iostream> using namespace std; int n,deep; int a[30]; bool iddfs(int pos) { int t; if(pos>deep) return false; if(a[pos]<<(deep-pos)<n) return false; if(a[pos]==n) return true; for(int i=1;i<=pos;++i){ a[pos+1]=a[i]+a[pos]; if(a[pos]+1<=3000&&iddfs(pos+1)==true) return true; a[pos+1]=a[pos]-a[i]; if(a[pos]+1>0&&iddfs(pos+1)==true) return true; } return false; } int main() { while(scanf("%d",&n)==1&&n){ deep=1,a[1]=1; while(iddfs(1)==0) ++deep; printf("%d ",deep⑴); } return 0; }


------分隔线----------------------------
------分隔线----------------------------

最新技术推荐