2010-08-08
17:35:11
题目不想多说,杭电PPT已经分析了. 我只写自己错误的代码 和正确的代码.
正确代码:
, 现在知道,递归的时候记录下的 不只是参数列表, 凡是递归函数体内的 局部变量都会记录, 就像这题 DFS内部, int i, 这个如果是全局变量,那么DFS失败返回时,i的值不会回溯, 而是一直往上加,然后失效(因为循环要求i<=3) ,所以要回溯的变量就在递归函数头部声明, 而那些不会回溯的变量(比如这里的map[nextx][nexty], 不是局部变量, 所以万一dfs不成功,那么要回溯, 于是
map[nextx][nexty]='.';)
大致就这些.对递归过程这次真正理解了.