搜索
您的当前位置:首页正文

水洼数

来源:好走旅游网
package 递归.递归进阶.dfs;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

import java.util.Scanner;

public class 水洼数 {

    static int m;
    static int n;
//    static char[][]a;

    public static void main(String[] args) {



        Scanner sc = new Scanner(System.in);

        n = sc.nextInt();
        m = sc.nextInt();

//        a=new char[n][m];

        char[][] arr = new char[n][];

        for (int i = 0; i < n; i++) {
            arr[i] = sc.next().toCharArray();
        }
        for (int i = 0; i < n; i++) {
            System.out.println(arr[i]);
        }



        int count = 0;
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {


                if (arr[i][j] == 'W') {
                    dfs(arr, i, j);
                    count++;
                    for (int k = 0; k < n; k++) {
                        System.out.println(arr[k]);
                    }

                }

            }

        }
        System.out.println(count);

    }


    private static void dfs(char[][] arr,int i, int j) {

        arr[i][j] = '.';

        for (int k = -1; k < 2; k++) {
            for (int l = -1; l < 2; l++) {

                if (k == 0 && l == 0)
                    continue;


                if (i + k >= 0 && i + k < n && j + l >= 0 && j + l < m) {
                    if (arr[i + k][j + l] == 'W') {
                        dfs(arr,i + k, j + l);
                    }
                }

            }
        }


    }

}

因篇幅问题不能全部显示,请点此查看更多更全内容

Top