dfs-poj1979
来源:互联网 发布:美工学徒招聘 编辑:程序博客网 时间:2024/06/06 02:29
给你一个二维数组,.表示可以到达,#表示障碍,@表示起始位置,问你能到达的最大地点有多少个,每次只能走上下左右
直接dfs,中间加了很多状态标记用来剪枝,但是发现没用上,直接也可以过,数据量小.
附上ac代码:
#include <iostream>using namespace std;#include <cstdio> char map[25][25]; //记录迷宫int flag[25][25]; //判断走没走过当前点int n, m;int ans;void dfs(int x, int y){ if(x <m && x >=0 && y>=0 && y < n && (map[x][y] == '.'||map[x][y] =='@') && flag[x][y] == 0) //如果满足在迷宫中并且该点可以访问 { ans++; //可访问点加1 flag[x][y] = 1; //当前点设为已经走过 } else { return; } dfs(x-1, y); //往左 dfs(x, y-1); //往上 dfs(x, y+1); //往下 dfs(x+1, y); //往右} int main(){ int x, y; while(scanf("%d %d", &n, &m)&&m!=0) { ans = 0; memset(map, 0, sizeof(map)); memset(flag, 0, sizeof(flag)); getchar(); for(int i = 0; i < m; i++) { for(int j = 0; j < n; j++) { scanf("%c", &map[i][j]); if(map[i][j] == '@') { x = i; y = j; } } getchar(); } dfs(x, y); printf("%d\n", ans); } return 0;}
0 0
- poj1979--DFS
- poj1979 DFS
- dfs--poj1979
- POJ1979 DFS
- poj1979 DFS
- POJ1979 DFS
- dfs-poj1979
- POJ1979 dfs
- poj1979 DFS
- poj1979-dfs
- poj1979【基础bfs/dfs】
- poj1979 BFS/DFS
- poj1979 dfs水题
- POJ1979迷宫问题DFS
- poj1979 Red and Black dfs
- poj1979 Red and Black(dfs)
- POJ1979 红与黑 DFS
- [dfs]poj1979 Red and Black
- Ubuntu16.04+Pycharm+Anaconda配置
- 平板也要兼容——碎片
- 涉及到空值的查询
- 软件使用记事本!
- golang context(SDK1.7 新增部分)
- dfs-poj1979
- python 学习第一天-基础知识
- 直接根据乐器来为吉他调音
- Oracle-绑定变量binding variable解读
- 欢迎使用CSDN-markdown编辑器--【Markdown编辑器页面的默认内容】
- 安卓动画
- Linux常用命令-用户管理命令
- 【基础算法】基础算法【转载】
- dfs+剪枝(hdu1010)