您的位置:首页 > 其它

BFS 广度优先搜索 Oil Deposits

2015-12-04 20:44 267 查看
以下是源码

import java.util.Scanner;

public class Main {

public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
while(true)
{
int m=in.nextInt();
int n=in.nextInt();
if(m==0&&n==0){return;}
int[][] arg=new int[m+2][n+2];

///读数据
for (int i = 1; i <= m; i++) {
String s = in.next();

for (int j = 1; j <= n; j++) {
arg[i][j] = s.charAt(j-1);

}
}
///处理数据
int count=0;
for (int i = 1; i <= m; i++) {
for (int j = 1; j <= n; j++) {
if(arg[i][j]==64){
//把四周围8个都检查一遍,如果有64 就弄成别的
find(arg,i,j);
count++;
}

}
}
System.out.println(count);
}

}

private static void find(int[][] arg, int i, int j) {
arg[i][j]=65;
for(int p=i-1;p<=i+1;p++)
{
for(int q=j-1;q<=j+1;q++)
{
if(arg[p][q]==64)
find(arg,p,q);
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ACM