蓝桥Python真题——扫雷

下面讲讲普通python语法中的IO运用

  1. 输一行字符串包含两个数据,将两个数据提取出来
    n, m = map(int, input().split()
  2. 输入n行m列的二维矩阵数组
python 复制代码
gird = []
for _ in range(n): #n行
	row = list(map(int, input().split())) #m列
	gird.append(row)
  1. 声明一个元素都为0的二维数组
    result = [[0 for _ in range(m)] for _ in range(n)]
    内层是列数,外层是行数。
    n行m列
  2. 遍历结果矩阵的每一行,转换为字符串,并用空格分隔后打印
python 复制代码
for row in result:
	print(' '.join(map(str, row)))

代码

python 复制代码
def main():
  n, m = map(int,input().split())
  gird = []
  for _ in range(n):
    row = list(map(int, input().split()))
    gird.append(row)
  directions = [
    (-1, -1), (-1, 0), (-1, 1),
    (0, -1),           (0, 1),
    (1, -1),  (1, 0),  (1, 1)
  ]
  result = [[0 for _ in range(m)] for _ in range(n)]

  for i in range(n):
    for j in range(m):
      if gird[i][j] == 1:
        result[i][j] = 9
      else :
        count = 0
        for dx, dy in directions:
          x = i+dx
          y = j+dy
          if 0<=x<n and 0<=y<m and gird[x][y]==1:
            count += 1
        result[i][j] = count

  for row in result:
    print(' '.join(map(str, row))) 

if __name__ =='__main__':
  main()

全是暴力,主要就是通过判断八个方向的地雷数。

也是因为题目的数据量不大。

相关推荐
FAREWELL0007518 小时前
Lua学习记录(6) --- Lua中的元表相关内容
开发语言·学习·lua
郝学胜-神的一滴18 小时前
OpenGL错误检查与封装:构建健壮的图形渲染系统
开发语言·c++·程序人生·软件工程·图形渲染
linux修理工18 小时前
vagrant file 设置固定IP并允许密码登录
java·linux·服务器
天地沧海18 小时前
各种和数据分析相关python库的介绍
python·数据挖掘·数据分析
sz老兄闯18 小时前
清结算系统事件化实战:高并发、高可用架构解析
python·plotly·django·flask·scikit-learn·pygame·tornado
Highcharts.js18 小时前
Highcharts Gantt 甘特图任务配置文档说明
java·数据库·甘特图·模板模式·highcharts·任务关系
繁华似锦respect18 小时前
C++ 设计模式之代理模式详细介绍
linux·开发语言·c++·windows·设计模式·代理模式·visual studio
heartbeat..19 小时前
java中基于 Hutool 工具库实现的图形验证码工具类
java
Aevget19 小时前
界面控件DevExpress WPF v25.1新版亮点:富文本编辑器全新升级
开发语言·c#·wpf·devexpress·用户界面
芷栀夏19 小时前
多设备文件接力太麻烦?Go File + cpolar让传输效率翻倍
开发语言·后端·golang