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\n");
            else printf("NO\n");
        }

 

posted @ 2018-11-01 20:55  北梗  阅读(116)  评论(0编辑  收藏  举报