当前位置: 代码迷 >> 综合 >> HDU-1010(DFS+奇偶剪枝)
  详细解决方案

HDU-1010(DFS+奇偶剪枝)

热度:3   发布时间:2023-12-15 03:47:48.0

题目链接: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