hdu 1241 dfs求连通分量个数
来源:互联网 发布:adobe cc 2018mac破解 编辑:程序博客网 时间:2024/06/11 18:43
http://acm.hdu.edu.cn/showproblem.php?pid=1241
题意:求连通分量的个数,8个方向。
做过好几次了,表示对dfs,bfs真没感觉。嗨。哭死。。。
View Code
// I'm lanjiangzhou//C#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h>#include <math.h>#include <time.h>//C++#include <iostream>#include <algorithm>#include <cstdio>#include <cstdlib>#include <cmath>#include <cstring>#include <cctype>#include <stack>#include <string>#include <list>#include <queue>#include <map>#include <vector>#include <deque>#include <set>using namespace std;//*************************OUTPUT*************************#ifdef WIN32#define INT64 "%I64d"#define UINT64 "%I64u"#else#define INT64 "%lld"#define UINT64 "%llu"#endif//**************************CONSTANT***********************#define INF 0x3f3f3f3f// aply for the memory of the stack//#pragma comment (linker, "/STACK:1024000000,1024000000")//endconst int maxn =1010;int n,m;int dir[8][2]={{-1,-1},{-1,0},{-1,1},{0,-1},{0,1},{1,-1},{1,0},{1,1}};int dis[maxn][maxn];char maps[maxn][maxn];int sum;int vis[maxn][maxn];void dfs(int start,int end){ //vis[start][end]=1; //int x=start+dir[] maps[start][end]='*'; for(int i=0;i<8;i++){ int x=dir[i][0]+start; int y=dir[i][1]+end; if(x<0||x>=n||y<0||y>=m) continue; if(maps[x][y]=='@'){ dfs(x,y); } }}int main(){ while(scanf("%d%d",&n,&m)!=EOF){ if(n==0&&m==0) break; // memset(vis,0,sizeof(vis)); getchar(); for(int i=0;i<n;i++){ scanf("%s",maps[i]); //for(int j=0;j<m;j++){ // if(maps[i][j]=='@'){ // dis[i][j]=1; //} //else dis[i][j]=0; // } } sum=0; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(maps[i][j]=='@'){ dfs(i,j); sum++; } } } printf("%d\n",sum); } return 0;}
- hdu 1241 dfs求连通分量个数
- (java)DFS求连通分量的个数
- HDU 1241 dfs求连通块个数
- dfs hdu 1241 寻找连通分量的个数
- 求连通分量(DFS)
- POJ 1562 dfs求连通分量的个数
- zoj 2412 dfs 求连通分量的个数
- POJ 1562 Oil Deposits(DFS:求八连通分量个数)
- 连通分量个数(dfs)
- hdu4496 求连通分量个数
- hdu 1232 并查集 求连通分量的个数
- hdu 5222(Tarjan求强连通分量+dfs)
- hdu 1241 田字格八个方向的深度优先搜索 求连通分量个数
- POJ 2386 Lake Counting(DFS:求8连通分量的个数)
- 双DFS求强连通分量
- 无向图dfs求连通分量
- 双向dfs求强连通分量
- 1013 DFS求强连通分量
- hdu 2680 dijkstra反向建图
- hdu 3592 差分约束
- hdu 3666差分约束
- hdu 1875 Krustal最小生成树
- hdu 1233 Kruskal求最小生成树
- hdu 1241 dfs求连通分量个数
- hdu 1213 并查集用Kruskal算法
- hdu 1856 并查集——ac的不一定正确
- 嗨,缓过神来。
- 为了见老刘一面
- (转载)freopen()函数在ACM中的使用
- HTTP协议 (六) 状态码详解
- 让这一切早点结束吧
- 当以一种过往的眼神看过去时