蓝桥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()

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

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

相关推荐
Lululaurel3 分钟前
从静态图表到交互叙事:数据可视化的新范式与实现
python·信息可视化·数据分析·matplotlib·数据可视化
PH = 75 分钟前
Spring Ai Alibaba开发指南
java·后端·spring
蒋星熠10 分钟前
TensorFlow与PyTorch深度对比分析:从基础原理到实战选择的完整指南
人工智能·pytorch·python·深度学习·ai·tensorflow·neo4j
qq_3404740211 分钟前
0.1 tensorflow例1-梯度下降法
人工智能·python·tensorflow
紫钺-高山仰止28 分钟前
【Pyzmq】python 跨进程线程通信 跨平台跨服务器通信
服务器·python·github
林烈涛29 分钟前
js判断变量是数组还是对象
开发语言·前端·javascript
可可南木36 分钟前
ICT 数字测试原理 3 --SAFETYGUARD 文件
开发语言·测试工具·pcb工艺
00后程序员张40 分钟前
从零构建 gRPC 跨语言通信:C++ 服务端与
开发语言·c++
涛声依旧1 小时前
基于springBoot鲜花商城小程序
java·spring·微信小程序
java1234_小锋1 小时前
[免费]基于Python的在线音乐网站系统(后端Django)【论文+源码+SQL脚本】
python·在线音乐·django音乐·python音乐·python在线音乐