hdu1997 汉诺塔

来源:互联网 发布:上瘾网络剧在哪里播 编辑:程序博客网 时间:2024/06/02 04:31

原文链接 http://blog.csdn.net/yongnuzhibu/article/details/7442248

#include <stdio.h>#define maxn 65int dfs(int n, int *x, int *y, int *z){if(n == 0) return 1;if(y[0] && n == y[1]) return 0;if(x[0] && n == x[1]){x[1] = x[0] - 1;dfs(n-1, ++x, z, y);}else if(z[0] && n == z[1]){z[1] = z[0] - 1;dfs(n-1, y, x, ++z);}}int main(){int a[maxn], b[maxn], c[maxn];int i, t, n;scanf("%d", &t);while(t--){scanf("%d", &n);scanf("%d", &a[0]);for(i = 1; i <= a[0]; ++i)scanf("%d", &a[i]);scanf("%d", &b[0]);for(i = 1; i <= b[0]; ++i)scanf("%d", &b[i]);scanf("%d", &c[0]);for(i = 1; i <= c[0]; ++i)scanf("%d", &c[i]);    dfs(n, a, b, c) ? printf("true\n") : printf("false\n");}return 0;}




0 0