蓝桥杯-扫雷

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

题目链接:
扫雷

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();
	}
}
相关推荐
karry01305 分钟前
高并发导致重复key问题--org.springframework.dao.DuplicateKeyException
java·数据库·ide
全栈凯哥7 分钟前
20.缓存问题与解决方案详解教程
java·spring boot·redis·后端·缓存
小莫分享21 分钟前
2023年最新总结,阿里,腾讯,百度,美团,头条等技术面试题目,以及答案,专家出题人分析汇总。
java·后端·面试·职场和发展
Brookty22 分钟前
【操作系统】线程
java·linux·服务器·后端·学习·java-ee·操作系统
Dovis(誓平步青云)24 分钟前
探索飞算 JavaAI 进阶:解锁高效Java开发的新维度
java·开发语言·飞算java
小雪_Snow30 分钟前
多态 使用场景
java
byte轻骑兵31 分钟前
BLE低功耗设计:从广播模式到连接参数优化的全链路分析与真题解析
面试·职场和发展
胚芽鞘6816 小时前
关于java项目中maven的理解
java·数据库·maven
岁忧6 小时前
(LeetCode 面试经典 150 题 ) 11. 盛最多水的容器 (贪心+双指针)
java·c++·算法·leetcode·面试·go
CJi0NG6 小时前
【自用】JavaSE--算法、正则表达式、异常
java