蓝桥杯-扫雷

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

题目链接:
扫雷

AC代码:

java 复制代码
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();
	}
}
相关推荐
一叶飘零_sweeeet1 小时前
从繁琐到优雅:Java Lambda 表达式全解析与实战指南
java·lambda·java8
艾伦~耶格尔2 小时前
【集合框架LinkedList底层添加元素机制】
java·开发语言·学习·面试
一只叫煤球的猫2 小时前
🕰 一个案例带你彻底搞懂延迟双删
java·后端·面试
最初的↘那颗心2 小时前
Flink Stream API 源码走读 - print()
java·大数据·hadoop·flink·实时计算
JH30733 小时前
Maven的三种项目打包方式——pom,jar,war的区别
java·maven·jar
带刺的坐椅4 小时前
轻量级流程编排框架,Solon Flow v3.5.0 发布
java·solon·workflow·flow·solon-flow
David爱编程4 小时前
线程调度策略详解:时间片轮转 vs 优先级机制,面试常考!
java·后端
阿冲Runner5 小时前
创建一个生产可用的线程池
java·后端
写bug写bug5 小时前
你真的会用枚举吗
java·后端·设计模式
喵手6 小时前
如何利用Java的Stream API提高代码的简洁度和效率?
java·后端·java ee