废话不多说上题目:
【题目部分】
有一个mn格的迷宫(表示有m行、n列),其中有可走的也有不可走的,如果用1表示可以走,0表示不可走,文件读入这mn个数据和起始点、结束点(起始点和结束点都是用两个数据来描述的,分别表示这个点的的行号和列号)。现在要你编程找出所有可行的道路总数,要求所走的路中没有重复的点,走时只能是上下左右四个方向。如果一条路都不可行,则输出相应信息(用 -1表示无路)。
Input
第一行是两个数 m、n(1 < m,n < 15),接下来是m行n列由10组成的数据,最后两行是起始点和结束点。
Output
所有可行的路径总数。如果没有一条可行的路则输出 -1.
Sample Input 1
5 6 1 0 0 1 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 5 6
Sample Output 1
12
第一次看到这个题目,我的内心是:这什么东西讲的啥,一点都听不懂,直接不做了。
但是让我讲个东西你和我可能就明白了:
迷宫类的搜索,需要一些处理技巧。
对于迷宫类的搜索,假设当前点为 i ,j ,按照本题迷宫的走法,它可以向上下左右四个方向走动: