目录
本文我们来讲C++知识精讲的第2篇,马的遍历,此专栏会讲许多,各种各样的类型,如果喜欢此专栏请订阅持续关注,感谢大家的支持。接下来,进入今天的知识精讲。
搜索与回溯基本框架
---------------------------------------------------------------------------------------------------------------------------------
基本框架一
int search(int k)
{
for(i=1;i<=算符种数;i++)
if(满足条件)
{
保存结果
if(到达目的地)输出解;
else search(k+1);
恢复:保存结果之前的状态{回溯一步}
}
}
--------------------------------------------------------------------------------------------------------------------------------
基本框架二
int search(int k)
{
if(到达目的地)输出解;
else
for(i=1;i<=算符种数;i++)
if(满足条件)
{
保存结果
search(k+1);
恢复:保存结果之前的状态{回溯一步}
}
}
---------------------------------------------------------------------------------------------------------------------------------
实战导入
中国象棋半张棋盘如图a所示。马自左下角向右上角跳。今规定只许往右跳,不许往左跳。比如图a所示为一种跳行路线,并将所经过路线打印出来。打印格式为:0,0->2,1->3,3->1,4->3,5->2,7->4,8……