首页 > 其他分享 >OJ题目详解——1.8~14:扫雷游戏地雷数计算

OJ题目详解——1.8~14:扫雷游戏地雷数计算

时间:2024-12-15 11:30:57浏览次数:7  
标签:地雷 格子 int 1.8 14 100 include 雷区 OJ

描述

扫雷游戏是一款十分经典的单机小游戏。它的精髓在于,通过已翻开格子所提示的周围格地雷数,来判断未翻开格子里是否是地雷。

现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格的周围格地雷数。

注:每个格子周围格有八个:上、下、左、右、左上、右上、左下、右下。

输入

第一行包含两个整数n和m,分别表示雷区的行数和列数。1 <= n <= 100, 1 <= m <= 100。
接下来n行,每行m个字符,‘*’表示相应格子中是地雷,‘?’表示相应格子中无地雷。字符之间无任何分隔符。

输出

n行,每行m个字符,描述整个雷区。若相应格中是地雷,则用‘*’表示,否则用相应的周围格地雷数表示。字符之间无任何分隔符。

样例输入

3 3
*??
???
?*?

样例输出

*10
221
1*1
#include<stdio.h>
#include<string.h>
int main()
{
	int n,m,sum=0;
	scanf("%d %d",&n,&m);
	getchar();
	char a[100][100];
	for(int i=0;i<n;i++)
	{
		gets(a[i]);
	}
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
		{
			if(a[i][j]!='*')
			{
				a[i][j]='0';
			}
		}
	}
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
		{
			if(a[i][j]=='*')
			{
				if(a[i+1][j]!='*'&&i!=n-1)
				{
					a[i+1][j]++;
				}
				if(a[i+1][j+1]!='*'&&i!=n-1&&j!=m-1)
				{
					a[i+1][j+1]++;
				}
				if(a[i+1][j-1]!='*'&&i!=n-1&&j!=0)
				{
					a[i+1][j-1]++;
				}
				if(a[i-1][j]!='*'&&i!=0)
				{
					a[i-1][j]++;
				}
				if(a[i-1][j+1]!='*'&&i!=0&&j!=m-1)
				{
					a[i-1][j+1]++;
				}
				if(a[i-1][j-1]!='*'&&i!=0&&j!=0)
				{
					a[i-1][j-1]++;
				}
				if(a[i][j+1]!='*'&&j!=m-1)
				{
					a[i][j+1]++;
				}
				if(a[i][j-1]!='*'&&j!=0)
				{
					a[i][j-1]++;
				}
			}
		}
	}
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
		{
			printf("%c",a[i][j]);
		}
		printf("\n");
	}
}

标签:地雷,格子,int,1.8,14,100,include,雷区,OJ
From: https://blog.csdn.net/daimaxiaozi12/article/details/144448919

相关文章

  • 2024-2025-1 20241415 《计算机基础与程序设计》第十二周学习总结
    2024-2025-120241415《计算机基础与程序设计》第十二周学习总结作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计这个作业要求在哪里2024-2025-1计算机基础与程序设计第十二周作业这个作业的目标复习巩固前面所学的内容作业正文https://www.cn......
  • 2024-2025-1 20241427 《计算机基础与程序设计》第12周学习总结
    作业信息这个作业属于哪个课程[2024-2025-1-计算机基础与程序设计]这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK12这个作业的目标信息系统、数据库与SQL、人工智能与专家系统、人工神经网络、模拟与离散事件、排队系统、天气与地震模型......
  • 读数据保护:工作负载的可恢复性14备份和恢复数据库
    1. 给采用传统方式交付的数据库制作备份1.1. 某个数据库是新还是旧,跟该数据库是不是传统数据库没有必然的联系,真正的决定因素在于,这个数据库是不是运行在你所管理的服务器或虚拟机里1.1.1. 如果是,那就可以归入按照传统模型来交付的数据库1.1.2. 如果不是,那么则有可能......
  • 超大规模数据库集群保稳系列:数据库攻防演练建设实践14
     01背景1.1初识混沌工程首先我们先了解一下什么是混沌工程?简单而言,混沌工程是在系统上进行实验的技术手段,目的是建立对系统抵御生产环境中失控条件的能力以及信心。这主要体现在两个方面,从系统角度来讲,混沌工程可以提升我们架构的容错能力和韧性,降低故障发生率和复发率,提......
  • 14.基于51单片机的智能花盆设计(实物)
    14.基于51单片机的智能花盆设计(实物)通过百度网盘分享的文件:资料详解链接:https://pan.baidu.com/s/1zPXLcLmqZAljkgMeU2RT7w?pwd=597l 提取码:597l 设计简介:基于单片机的智能花盆设计单片机:STC89C52功能:1、通过显示屏显示花盆中土壤的温度、湿度,花盆外光照强度;2、通......
  • MySQL中这14个神仙功能,惊艳到我了!!!
    大家好,我是苏三,又跟大家见面了。前言我最近几年用MYSQL数据库挺多的,发现了一些非常有用的小玩意,今天拿出来分享到大家,希望对你会有所帮助。1.group_concat在我们平常的工作中,使用groupby进行分组的场景,是非常多的。比如想统计出用户表中,名称不同的用户的具体名称有哪些?......
  • maven docker-maven-plugin 发布docker 20241214
    1、docker开启远程访问 端口 2375  docker主机:192.168.177.128vi/usr/lib/systemd/system/docker.service#修改ExecStart这行ExecStart=/usr/bin/dockerd-Htcp://0.0.0.0:2375 #重新加载配置文件[root@localhost~]#systemctldaemon-reload#重启服务[......
  • 2024-2025-1 20241403《计算机基础与程序设计》第十二周学习总结
    2024-2025-120241403《计算机基础与程序设计》第十二周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标指针与一维,二维数......
  • [20241214]Oracle 多线程测试(补充).txt
    [20241214]Oracle多线程测试(补充).txt--//补充测试altersystemkillsession'sid,serial#'immediate;杀线程的情况是否可行。1.环境:SYS@book>@ver2==============================PORT_STRING                  :x86_64/Linux2.4.xxVERSION     ......
  • 2024-12-14:K 周期字符串需要的最少操作次数。用go语言,给定一个长度为n的字符串 word
    2024-12-14:K周期字符串需要的最少操作次数。用go语言,给定一个长度为n的字符串word和一个整数k,k是n的因数。每次操作可以选择两个下标i和j,使得i和j都可以被k整除,然后用从j开始的长度为k的子串替换从i开始的长度为k的子串。要使得word成为一个K周期字符串,需要进行最少的操作次数......