HDU_1241 Oil Deposits(dfs)
来源:互联网 发布:网络赛车赌博是骗局吗 编辑:程序博客网 时间:2024/04/27 21:18
题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=1241
题目大意:==》其实就是给你一个图形,问有多少块含‘@’连通(连通包括在同一行、列或对角线)
分八个方向来搜索,我写的时候因为粗细遇到了一些问题,但是自己可以尝试输出中间量来debug==
源代码:
#include<iostream>#include<cstdlib>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<queue>using namespace std;int m;//记录大小int n;const int maxn = 100+5;//最大大小char mymap[maxn][maxn];//记录形状int visited[maxn][maxn];//记录有没有被访问过int dir[8][2] = { {-1,-1}, {-1,0}, {-1,1}, {0,1}, {1,1}, {1,0}, {1,-1}, {0,-1}};//定义方向向量记录八个方向//判断所处位置是否在给定形状里面( 是否合法)bool check( int x, int y){ if( x >= 0 && x < m && y >= 0 && y < n) return true; return false;}void dfs( int x, int y, int ans){ int dx; int dy; for( int i = 0; i < 8; i++)//以当前位置展开八个方向的搜索 { dx = x+dir[i][0]; dy = y+dir[i][1]; if( check( dx,dy) && mymap[dx][dy] == '@' && visited[dx][dy] == 0)// { visited[dx][dy] = ans; dfs( dx,dy,ans); } }}int main(){ while( scanf("%d%d",&m,&n) == 2 && m && n) { for( int i = 0; i < m; i++) scanf("%s",mymap[i]);//输入形状 int ans = 0;//初始化answer memset(visited,0,sizeof(visited)); for( int i = 0; i < m; i++) { for( int j = 0; j < n; j++) { //存在且未被访问过 if( mymap[i][j] == '@' && visited[i][j] == 0) { ans++; visited[i][j] = ans; dfs( i,j,ans); } } } printf("%d\n",ans); } return 0;}
0 0
- HDU_1241 Oil Deposits(dfs)
- hdu_1241 Oil Deposits
- Oil Deposits hdu1241 dfs
- Oil Deposits poj DFS
- POJ1562:Oil Deposits(DFS)
- HDU1241:Oil Deposits(DFS)
- hdu1241(DFS Oil Deposits )
- UVa572 Oil Deposits(DFS)
- Oil Deposits DFS水题
- Oil Deposits BFS+DFS
- Oil Deposits uva DFS
- HDU1241:Oil Deposits(DFS)
- 【搜索-DFS】Oil Deposits
- Oil Deposits(DFS)
- poj1562 Oil Deposits(DFS)
- HDU1241 Oil Deposits DFS
- HDU1241 Oil Deposits DFS
- Oil Deposits(dfs深搜)
- fastjson序列化hibernate代理和延迟加载对象出现no session异常的解决办法
- 我的百度实习生面试(一)
- spring mvc Service 获取request
- 谈谈Angular指令bindToController的使用(1.4版本后支持)
- 数据结构之串
- HDU_1241 Oil Deposits(dfs)
- AccessibilityService从入门到出轨
- TABLES参数已经过时 TABLES parameters are obsolete! 问题的解决
- java web 通过request获取客户端IP
- 2016.12.10数据库连接发生的一系列错误
- ubuntu12.04设置中文输入法
- opencv3.1 cmake mingw qt
- 帕累托分布图--python学习笔记18
- bzoj 4216: Pig (分块)