判断某一状态是否是在最优路径中
Input
包含多组数据,首先输入T,表示有T组数据.每组数据4行,第1行N是盘子的数目N<=64.
后3行如下
m a1 a2 ...am
p b1 b2 ...bp
q c1 c2 ...cq
N=m+p+q,0<=m<=N,0<=p<=N,0<=q<=N,
后3行如下
m a1 a2 ...am
p b1 b2 ...bp
q c1 c2 ...cq
N=m+p+q,0<=m<=N,0<=p<=N,0<=q<=N,
Output
对于每组数据,判断它是否是在正确的移动中产生的系列.正确输出true,否则false
Sample Input
6 3 1 3 1 2 1 1 3 1 3 1 1 1 2 6 3 6 5 4 1 1 2 3 2 6 3 6 5 4 2 3 2 1 1 3 1 3 1 2 1 1 20 2 20 17 2 19 18 16 16 15 14 13
本文探讨了如何判断汉诺塔问题中某个状态是否位于最优移动路径上。关键在于第n个盘子必须在a的底部或c的底部。通过递归解法,可以进一步检查剩余盘子的移动是否符合从a到b或从b到c的规则。
订阅专栏 解锁全文
3183

被折叠的 条评论
为什么被折叠?



