hdu1010感想

杭电这道题是用dfs走迷宫问题,一直wa是因为没有将走过的地方标记,所以如果遇到走迷宫的问题一定要将走过的地方标记,如下:

if(nx>=0&&nx<n&&ny>=0&&ny<m&&position[nx][ny]!='X'){
            position[nx][ny]='X';
            if(dfs(nx,ny,time+1)) return 1;
            position[nx][ny]='.';
        }

当然,最开始的起点一开始就要标记!

 position[sx][sy]='X';               //主函数中就将起点标记为已走过
        if(dfs(sx,sy,0)) printf("YES
");
            else printf("NO
");
        }
原文地址:https://www.cnblogs.com/clljs/p/9892445.html