当前位置: 首页 > news >正文

第四题:扫雷

题目描述

在一个 n行 m 列的方格图上有一些位置有地雷,另外一些位置为空。

请为每个空位置标一个整数,表示周围八个相邻的方格中有多少个地雷。

输入描述

输入的第一行包含两个整数 n,m。

第 2 行到第 n+1 行每行包含 m 个整数,相邻整数之间用一个空格分隔。如果对应的整数为 0,表示这一格没有地雷。如果对应的整数为 1,表示这一格有地雷。

其中,1≤n,m≤100 分钟后还是在当天。

输出描述

输出 n 行,每行 m 个整数,相邻整数之间用空格分隔。

对于没有地雷的方格,输出这格周围的地雷数量。对于有地雷的方格,输出 9。

输入输出样例

示例 1

输入

3 4
0 1 0 0
1 0 1 0
0 0 1 0

输出

2 9 2 1
9 4 9 2
1 3 9 2

运行限制

  • 最大运行时间:1s

  • 最大运行内存: 128M

分析:

二维数组用运。

代码:

#include <stdio.h>
#include <stdlib.h>int main(int argc, char *argv[])
{int n,m;int a[101][101];int count;scanf("%d%d",&n,&m);for(int i = 1;i<=n;i++){//多留一行方便第一排第一列的周围求和for(int j = 1;j<=m;j++){//多留一列,功能如上scanf("%d",&a[i][j]);
//            if(a[i][j] == 1)//标记地雷
//              a[i][j] = 102;}}for(int i = 1;i<=n;i++){for(int j = 1;j<=m;j++){count = 0;if(a[i][j] == 1) {printf("%5d ",9);continue; }else if(a[i-1][j] == 1)count++;if(a[i+1][j] == 1)count++;if(a[i-1][j+1] == 1)count++;if(a[i-1][j-1] == 1)count++;if(a[i+1][j+1] == 1)count++;if(a[i+1][j-1] == 1)count++;if(a[i][j-1] == 1)count++;if(a[i][j+1] == 1)count++;printf("%5d ",count);}printf("\n");}return 0;
}

相关文章:

  • C语言关于随机数知识点的总结
  • LeetCode 5. 最长回文子串
  • 云原生:应用敏捷,华为视角下的应用现代化
  • 黑马鸿蒙笔记
  • 力扣热题100_链表_138_随机链表的复制
  • Acwing2024蓝桥杯区间合并
  • 34-3 SSRF漏洞 - ssrf业务场景及挖掘
  • Ubuntu下TexStudio如何兼容中文
  • 简析数据安全保护策略中的十个核心要素
  • 【精品整理】最新数据安全评估标准合集
  • 基于单片机钢琴电子节拍器系统设计
  • PTA字符串约束
  • nginx + keepalived 搭建教程
  • LeetCode 60. 第k个排列
  • 云原生技术精选:探索腾讯云容器与函数计算的最佳实践
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • 230. Kth Smallest Element in a BST
  • express如何解决request entity too large问题
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • JavaScript DOM 10 - 滚动
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • Laravel核心解读--Facades
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 基于游标的分页接口实现
  • 排序算法之--选择排序
  • 前端知识点整理(待续)
  • 数据可视化之 Sankey 桑基图的实现
  • 通过git安装npm私有模块
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 无服务器化是企业 IT 架构的未来吗?
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #Java第九次作业--输入输出流和文件操作
  • #Linux(权限管理)
  • (C语言)球球大作战
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (十) 初识 Docker file
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (四)Linux Shell编程——输入输出重定向
  • (转)关于多人操作数据的处理策略
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .NET分布式缓存Memcached从入门到实战
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc
  • .NET业务框架的构建
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • [ Linux ] Linux信号概述 信号的产生
  • [.net]官方水晶报表的使用以演示下载
  • [100天算法】-二叉树剪枝(day 48)
  • [⑧ADRV902x]: Digital Pre-Distortion (DPD)学习笔记
  • [Android Pro] Notification的使用
  • [C++] Windows中字符串函数的种类
  • [C++]C++类基本语法