题目链接
http://acm.nyist.net/JudgeOnline/problem.php?pid=306
http://acm.hznu.edu.cn/JudgeOnline/problem.php?id=1852
思路
参考:http://www.cnblogs.com/algorithms/archive/2012/07/10/2584420.html
比赛时这道没有写出来,思路是dfs+二分,这种类型的题这是第二次遇到了,看来这种思路适用性还是挺广的。
就是二分遍历难度差mid,然后判断这个难度差限制下能否走到终点,如果可以的话大于mid的都可以,right=mid,否则就left=mid+1。
然后我一开始写傻傻的按一般dfs的写法,把vis还原了,直接导致超时,因为这题完全可以不还原的,不符合条件的格子肯定不会走第二遍。
AC代码
#include <bits/stdc++.h>
<