import java.util.*;
public class FindArmy {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] ints = Arrays.stream(sc.nextLine().split("\\s+")).mapToInt(Integer::parseInt).toArray();
int row = ints[0],column = ints[1],k=ints[2];
char[][] chars = new char[row][column];
for (int i = 0; i < row; i++) {
chars[i] = sc.nextLine().toCharArray();
}
solve(chars,k);
}
private static void solve(char[][] chars, int k) {
int sum = 0;
for (int i = 0; i < chars.length; i++) {
for (int j = 0; j < chars[0].length; j++) {
if(chars[i][j]!='#'&&dfs(chars,i,j)<k){
sum++;
}
}
}
System.out.println(sum);
}
private static int dfs(char[][] chars,int i, int j) {
int cnt = 0;
if(i<0||i>=chars.length||j<0||j>=chars[0].length||chars[i][j]=='#'){
return cnt;
}
if(chars[i][j]=='E'){
cnt++;
}
chars[i][j]='#';
cnt+=dfs(chars,i+1,j);
cnt+=dfs(chars,i-1,j);
cnt+=dfs(chars,i,j+1);
cnt+=dfs(chars,i,j-1);
return cnt;
}
}
华为OD机试-战场索敌-DFS(JAVA 2025A卷)
于 2025-06-20 00:01:05 首次发布