蓝桥杯-扫雷

发布于:2024-12-05 ⋅ 阅读:(122) ⋅ 点赞:(0)

这题不难,就是麻烦一点,这里暴力求解了直接

题目链接:
扫雷

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();
	}
}

网站公告

今日签到

点亮在社区的每一天
去签到