这题不难,就是麻烦一点,这里暴力求解了直接
题目链接:
扫雷
AC代码:
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int m = scan.nextInt();
int[][] arr = new int[n][m];
for(int i=0;i<n;i++) {
for(int j=0;j<m;j++) {
arr[i][j]=scan.nextInt();
}
}
int[][] res = new int[n][m];
// Arrays.fill(res, 0);
for(int i=0;i<n;i++) {
for(int j=0;j<m;j++) {
if (arr[i][j]!=0) {
res[i][j]=9;
continue;
}
if (i!=0) {
res[i][j]=res[i][j]+arr[i-1][j];
}
if (i!=n-1) {
res[i][j]=res[i][j]+arr[i+1][j];
}
if (j!=0) {
res[i][j]=res[i][j]+arr[i][j-1];
}
if (j!=m-1) {
res[i][j]=res[i][j]+arr[i][j+1];
}
if (i!=0&&j!=0) {
res[i][j]=res[i][j]+arr[i-1][j-1];
}
if (i!=n-1&&j!=m-1) {
res[i][j]=res[i][j]+arr[i+1][j+1];
}
if (i!=0&&j!=m-1) {
res[i][j]=res[i][j]+arr[i-1][j+1];
}
if (i!=n-1&&j!=0) {
res[i][j]=res[i][j]+arr[i+1][j-1];
}
}
}
for(int i=0;i<n;i++) {
for(int j=0;j<m;j++) {
System.out.print(res[i][j]+" ");
}
System.out.println();
}
scan.close();
}
}