Java实现 蓝桥杯VIP 算法提高 扫雷
算法提高 扫雷
时间限制:1.0s 内存限制:256.0MB
问题描述
扫雷游戏你一定玩过吧!现在给你若干个n×m的地雷阵,请你计算出每个矩阵中每个单元格相邻单元格内地雷的个数,每个单元格最多有8个相邻的单元格。 0<n,m<=100
输入格式
输入包含若干个矩阵,对于每个矩阵,第一行包含两个整数n和m,分别表示这个矩阵的行数和列数。接下来n行每行包含m个字符。安全区域用‘.’表示,有地雷区域用’‘表示。当n=m=0时输入结束。
输出格式
对于第i个矩阵,首先在单独的一行里打印序号:“Field #i:”,接下来的n行中,读入的’.'应被该位置周围的地雷数所代替。输出的每两个矩阵必须用一个空行隔开。
样例输入
4 4
…
…
.…
…
3 5
**…
…
.…
0 0
样例输出
Field #1:
100
2210
110
1110
Field #2:
**100
33200
1*100
(注意两个矩阵之间应该有一个空行,由于oj的格式化这里不能显示出来)
数据规模和约定
0<n,m<=100
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class 扫雷 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
List<StringBuffer> sb=new ArrayList<StringBuffer>();
int count=1;
while(true){
int a=sc.nextInt();
int b=sc.nextInt();
if(a==b&&a==0)
break;
int[][] arr=new int[a][b];
sc.nextLine();
for(int i=0;i<a;i++){
String str=sc.nextLine();
for(int j=0;j<b;j++){
if(str.charAt(j)=='*')
arr[i][j]=9;
else if(str.charAt(j)=='.')
arr[i][j]=0;
}
}
for(int i=0;i<a;i++){
for(int j=0;j<b;j++){
if(arr[i][j]==9){
if(i-1>=0&&j-1>=0&&arr[i-1][j-1]!=9)
arr[i-1][j-1]++;
if(i-1>=0&&arr[i-1][j]!=9)
arr[i-1][j]++;
if(i-1>=0&&j+1<b&&arr[i-1][j+1]!=9)
arr[i-1][j+1]++;
if(j-1>=0&&arr[i][j-1]!=9)
arr[i][j-1]++;
if(j+1<b&&arr[i][j+1]!=9)
arr[i][j+1]++;
if(i+1<a&&j-1>=0&&arr[i+1][j-1]!=9)
arr[i+1][j-1]++;
if(i+1<a&&arr[i+1][j]!=9)
arr[i+1][j]++;
if(i+1<a&&j+1<b&&arr[i+1][j+1]!=9)
arr[i+1][j+1]++;
}
}
}
String s="Field #"+count+":";
sb.add(new StringBuffer(s));
for(int i=0;i<a;i++){
StringBuffer bu=new StringBuffer();
for(int j=0;j<b;j++){
if(arr[i][j]==9)
bu.append('*');
else
bu.append(arr[i][j]);
}
sb.add(bu);
}
StringBuffer bb=new StringBuffer('\n');
sb.add(bb);
count++;
}
for(int i=0;i<sb.size();i++)
System.out.println(sb.get(i));
}
}
Java实现 蓝桥杯VIP 算法提高 扫雷的更多相关文章
- Java实现 蓝桥杯VIP 算法提高 研究兔子的土豪
试题 算法提高 研究兔子的土豪 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 某天,HWD老师开始研究兔子,因为他是个土豪 ,所以他居然一下子买了一个可以容纳10^18代兔子的巨大 ...
- Java实现 蓝桥杯VIP 算法提高 3-2求存款
算法提高 3-2求存款 时间限制:1.0s 内存限制:256.0MB 问题描述 见计算机程序设计基础(乔林)P50第5题. 接受两个数,一个是用户一年期定期存款金额,一个是按照百分比格式表示的利率,计 ...
- Java实现 蓝桥杯VIP 算法提高 3-3求圆面积表面积体积
算法提高 3-3求圆面积表面积体积 时间限制:1.0s 内存限制:256.0MB 问题描述 接受用户输⼊的数值,输出以该值为半径的(1)圆面积,(2)球体表面积,(3)球体体积.pi 取值3.1415 ...
- Java实现 蓝桥杯VIP 算法提高 5-3日历
算法提高 5-3日历 时间限制:1.0s 内存限制:256.0MB 问题描述 已知2007年1月1日为星期一.设计一函数按照下述格式打印2007年以后(含)某年某月的日历,2007年以前的拒绝打印.为 ...
- Java实现 蓝桥杯VIP 算法提高 11-2删除重复元素
算法提高 11-2删除重复元素 时间限制:10.0s 内存限制:256.0MB 问题描述 为库设计新函数DelPack,删除输入字符串中所有的重复元素.不连续的重复元素也要删除. 要求写成函数,函数内 ...
- Java实现 蓝桥杯VIP 算法提高 P0401
算法提高 P0401 时间限制:1.0s 内存限制:256.0MB 输入一个无符号整数x,输出x的二进制表示中1的个数. 输入: 76584 输出: 7 import java.util.Scanne ...
- Java实现 蓝桥杯VIP 算法提高 理财计划
算法提高 理财计划 时间限制:1.0s 内存限制:256.0MB 问题描述 银行近期推出了一款新的理财计划"重复计息储蓄".储户只需在每个月月初存入固定金额的现金,银行就会在每个月 ...
- Java实现 蓝桥杯VIP 算法提高 解二元一次方程组
算法提高 解二元一次方程组 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个二元一次方程组,形如: a * x + b * y = c; d * x + e * y = f; x,y代 ...
- Java实现 蓝桥杯VIP 算法提高 陶陶摘苹果2
算法提高 陶陶摘苹果2 时间限制:1.0s 内存限制:256.0MB 问题描述 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出n个苹果.苹果成熟的时候,陶陶就会跑去摘苹果.陶陶有个30厘米高的板凳, ...
随机推荐
- 《C程序设计语言》 练习2-6 及 位运算总结
问题描述 2.6 编写一个函数setbits(x, p ,n, y),该函数返回对x执行下列操作后的结果值: 将x中从第p位开始的n个(二进制)位设置为y中最右边n位的值,x的其余各位保持不变. Wr ...
- CodeForces - 1209D Cow and Snacks 并查集
CodeForces - 1209D 题意 现在n种点心,每种点心只有一份,有k位客人,每位客人有两种想要吃的点心,你可以安排他们进场的顺序,每位客人会吃掉所有他想要吃的,并且还没被吃掉的点心.如果客 ...
- 小心了!Kubernetes自动化操作工具将让你失去工作
运行Kubernetes的人已经花费太多时间在操作上,企业正在考虑为Kubernetes编写自动化工具. 尽管IT部门的大部分职位都会增加,但职业顾问说,计算机操作员预计会减少.这个角色涉及运行She ...
- PAT数列排序
19考研结束了 .. 还有11天PAT甲 题目链接:http://lx.lanqiao.cn/problem.page?gpid=T52 题目大意:训练排序 解题思路: 方法一: 直接用C++里的so ...
- mac下charles使用
设置charles 电脑上一次性的工作 1 下载下面两个文件(这里版本自己定) a charles-proxy-4.1.4.dmg b charles4.1.4的副本.jar 2 进行charles ...
- 基于MySQL 的 SQL 优化总结
文章首发于我的个人博客,欢迎访问.https://blog.itzhouq.cn/mysql1 基于MySQL 的 SQL 优化总结 在数据库运维过程中,优化 SQL 是 DBA 团队的日常任务.例行 ...
- 修改jupyter默认保存文件的目录
1.打开 Anaconda Prompt输入命令 jupyter notebook --generate-config 2.可以看到生成了目录及jupyter notebook的配置文件,打开该文件. ...
- css中文字两端对齐兼容IE
text-align: justify; text-justify:inter-ideograph;
- IndexDB
参考:http://www.ruanyifeng.com/blog/2018/07/indexeddb.html cookie localStorage IndexedDB 大小 不超过4KB 2 ...
- 第七篇:wed版语音机器人
wed版语音机器人: GitHub项目地址:https://github.com/Yang915/WebToy 特别说明:该项目在本机测试,通过浏览器调用系统麦克风(https请求),实际环境在Fir ...