首页 > 其他 > 详细

Virtual Judge HDU 1241 Oil Deposits

时间:2019-10-27 01:19:52      阅读:103      评论:0      收藏:0      [点我收藏+]

八方向   深搜

#include <iostream>
#include<cstdio>
#include<cstdlib>
#include<algorithm>
using namespace std;
char maps[1050][1050];
int n,m,d[8]= {-1,-1,-1,0, 0, 1,1,1};
int     z[8]= {-1, 0, 1,-1,1,-1,0,1};  //8个方向
void dfs(int x, int y) {
    maps[x][y] = *; //变为*,相当于走过
    for (int i = 0; i < 8; i++) {
        int nx = x + d[i], ny = y + z[i];
        if (0<=nx&&nx<m&&0<=ny&&ny<n) {
            if (maps[nx][ny]==@) {
                dfs(nx, ny);
            }
        }
    }
}
int main() {
    while(~scanf("%d%d", &m, &n)&&(m || n)) {
        int count = 0;
        for(int i = 0; i < m; i++)
            scanf("%s", maps[i]);
        for(int i = 0; i < m; i++)
            for(int j = 0; j < n; j++) {
                if(maps[i][j]==@) {
                    dfs(i,j);
                    count++;
                }
            }
        printf("%d\n", count);
    }
    return 0;
}

 

Virtual Judge HDU 1241 Oil Deposits

原文:https://www.cnblogs.com/QingyuYYYYY/p/11746393.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!