题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1010
思路:
题目思路很清晰,一眼能看出用DFS来做,难点在于如果不剪枝就会超时。
这题对我来说最大的收获就是了解了奇偶剪枝。
奇偶剪枝理解:
在一个矩阵中,设起点为(a, b),终点为(c, d)。则最短路min为abs(a-c)+abs(b-d),
画图总结规律可以得出任意一条路径x,x-min必定为偶数。
我自己对这种思想抽象理解为,若有1步不走在最短路上,则必定还需要1步走回最短路,因此必定多出2步。
下面贴出AC代码:
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
using