我是靠谱客的博主 背后树叶,最近开发中收集的这篇文章主要介绍1113. 红与黑 ( dfs / bfs ),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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 )所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部