码迷,mamicode.com
首页 > 其他好文 > 详细

AOJ 0118: Property Distribution (简单DFS)

时间:2017-11-09 15:04:02      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:style   int   tar   property   输入   div   ios   i++   logs   

题目链接:http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0118

 

 

题意:给定一个矩阵,同类字符相连的为一个块,问总共有几个块。

 

输入:h,w(行和列)0 <= h <= 100,0 <= w <= 100

   矩阵

   输入包含多组用例,以0,0结束。

输出:块数。

 

 

 

代码:

 

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

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

void dfs(int x,int y,char s){
    if(x < 0 || x >= h || y < 0 || y >= w || a[x][y] != s) return;
    char t = a[x][y];
    a[x][y] = o;
    for(int i = 0;i < 4; i++){
        dfs(x+dir[i][0], y+dir[i][1], t);
    }
}

int main(){
    while(cin >> h >> w){
        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];
            }
        }
        for(int i = 0;i < h; i++){
            for(int j = 0;j < w; j++){
                if(a[i][j] != o){
                    ans++;
                    dfs(i,j,a[i][j]);
                }
            }
        }
        cout << ans << endl;
    }
    return 0;
} 

 

AOJ 0118: Property Distribution (简单DFS)

标签:style   int   tar   property   输入   div   ios   i++   logs   

原文地址:http://www.cnblogs.com/zhangjiuding/p/7808651.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!