概述
AcWing:1113. 红与黑
深度优先遍历 / 广度优先遍历
AC Code
import java.util.*;
import static java.lang.System.out;
public class Main{
static int ans = 0;
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(true) {
int r = in.nextInt();
int c = in.nextInt();
if(r == 0 && c == 0) break;
char[][] cs = new char[c][r];
for(int i = 0; i < c; i++) {
String tmp = in.next();
//out.println(tmp);
cs[i] = tmp.toCharArray();
}
for(int i = 0; i < c; i++) {
for(int j = 0; j < r; j++) {
if(cs[i][j] == '@') {
//起点
dfs(cs, i, j);
break;
}
}
}
out.println(ans);
ans = 0;
}
}
public static void dfs(char[][] cs, int i, int j){
ans++;
cs[i][j] = '1';
// 上下左右
if(i + 1 < cs.length && cs[i + 1][j] == '.')
dfs(cs, i + 1, j);
if(i - 1 >= 0 && cs[i - 1][j] == '.')
dfs(cs, i -1, j);
if(j + 1 < cs[0].length && cs[i][j + 1] == '.')
dfs(cs, i, j + 1);
if(j - 1 >= 0 && cs[i][j - 1] == '.')
dfs(cs, i, j - 1);
}
}
最后
以上就是背后树叶为你收集整理的1113. 红与黑 ( dfs / bfs )的全部内容,希望文章能够帮你解决1113. 红与黑 ( dfs / bfs )所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复