AOJ 0118: Property Distribution (简单DFS)
生活随笔
收集整理的这篇文章主要介绍了
AOJ 0118: Property Distribution (简单DFS)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
题目链接: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 2147483647int 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; } 与50位技术专家面对面20年技术见证,附赠技术全景图总结
以上是生活随笔为你收集整理的AOJ 0118: Property Distribution (简单DFS)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: POJ 1979 Red and Bla
- 下一篇: POJ 3320 Jessica's R