深度优先搜索 hdu 1997 汉诺塔问题

来源:互联网 发布:网络报警主机 编辑:程序博客网 时间:2024/06/07 10:43

转载:http://blog.csdn.net/yongnuzhibu/article/details/7442248

#include<iostream>#include<algorithm>#include<cstdio>#include<cstdlib>#include<cmath>#include<cstring>#include<vector>#include<stack>#include<map>#define maxn 70#define lson step<<1#define rson step<<1|1using namespace std;bool dfs(int n,int A[],int B[],int C[]){if(n==0)return true;if(B[0]==n)return false;else if(A[0]==n){return dfs(n-1,A+1,C,B);}else if(C[0]==n){return dfs(n-1,B,A,C+1); }return true;}int main(){int T,n,m,p,q; cin>>T; while(T--) { int A[maxn],B[maxn],C[maxn]; cin>>n;cin>>m;for(int i=0;i<m;i++){cin>>A[i];}cin>>p;for(int i=0;i<p;i++){cin>>B[i];} cin>>q;for(int i=0;i<q;i++){cin>>C[i];}if(dfs(n,A,B,C)==true){cout << "true\n";}elsecout << "false\n";}return 0;}


原创粉丝点击