这个题目有点难度
不过可用广度优先搜索算法:
棋盘的数据结构
{
int a[7];
int min_step;
}
我大致写一下
两个数据结构
已搜状态队列q1
正在搜索的状态队列q2
main()
{
将初始节点加到q2;
while(q2 isn't empty)
{
new_s=takeout from q2;
if(new_s belong to q1 or q2)
continue;
else
{
if(new_s is target)
return;
else
{
步数加一;
根据new_s扩展q2;(最多4种可能);
}
}
}
a little suggestion,
just glance it!
thank you
}