Hdu1241 Oil Deposit (UVa 572)

来源:互联网 发布:淘宝开店手机端 编辑:程序博客网 时间:2024/06/03 20:55

Search:DFS

HDU 1241 Oil Deposit
(UVa 572)

直接贴代码:

#include <iostream>#include <cstring>#include <cstdio>using namespace std;const int maxn = 105;int n, m;int cnt;struct node{    int x;    int y;};node ss[8] = {{0,1},{1,0},{0,-1},{-1,0},{1,1},{1,-1},{-1,1},{-1,-1}};char graph[maxn][maxn];int vis[maxn][maxn];void DFS(int x, int y){    vis[x][y] = 1;    for (int i = 0; i < 8; i++){        int cc = x+ss[i].x, dd = y+ss[i].y;        if(!vis[cc][dd] && graph[cc][dd] == '@' && cc >= 0 && cc < n && dd >= 0 && dd < m)            DFS(cc,dd);    }}int main(){    while(scanf("%d%d",&n,&m) != EOF && (n && m)){        cnt = 0;        memset(graph,0,sizeof(graph));        memset(vis,0,sizeof(vis));        for(int i = 0; i < n; i++){            scanf("%s",graph[i]);        }        for(int i = 0; i < n; i++){            for(int j = 0; j < m; j++){                if(graph[i][j] == '*') vis[i][j] = 1;                if(graph[i][j] == '@' && !vis[i][j]) {cnt++;DFS(i, j);}            }        }        printf("%d\n",cnt);    }    return 0;}
0 0
原创粉丝点击