POJ 1979 Red and Black (简单dfs)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POJ 1979 Red and Black (简单dfs)相关的知识,希望对你有一定的参考价值。

题目:

 

简单dfs,没什么好说的

 

 

代码:

#include <iostream>
using namespace std;
typedef long long ll;
#define INF 2147483647

int w,h;
char a[22][22];
int dir[4][2] = {-1,0,1,0,0,-1,0,1};
int ans = 0;

void dfs(int x,int y){
    if(x < 0 || x >= h || y < 0 || y >= w || a[x][y] == \'#\') return;
    ans++;
    a[x][y] = \'#\';
    for(int i = 0;i < 4; i++){
        dfs(x+dir[i][0],y+dir[i][1]);
    }
}

int main(){
    while(cin >> w >> h){
        if(w == 0 && h == 0) break;
        ans = 0;
        int sx,sy;
        for(int i = 0;i < h; i++){
            for(int j = 0;j < w; j++){
                cin >> a[i][j];
                if(a[i][j] == \'@\'){
                    sx = i;sy = j;
                }
            }
        }
        dfs(sx,sy);
        cout << ans << endl;
    }
    return 0;
} 

 

以上是关于POJ 1979 Red and Black (简单dfs)的主要内容,如果未能解决你的问题,请参考以下文章

POJ1979 Red and Black

POJ1979 Red and Black

poj-1979 red and black(搜索)

poj1979 Red and Black

POJ 1979Red and Black

POJ 1979 Red and Black