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

题解:蓝桥云课 149 长草

【题目来源】

蓝桥云课:1.长草 - 蓝桥云课

【题目描述】

小明有一块空地,他将这块空地划分为 \(n\)\(m\) 列的小块,每行和每列的长度都为 \(1\)

小明选了其中的一些小块空地,种上了草,其他小块仍然保持是空地。

这些草长得很快,每个月,草都会向外长出一些,如果一个小块种了草,则它将向自己的上、下、左、右四小块空地扩展,

这四小块空地都将变为有草的小块。请告诉小明,\(k\) 个月后空地上哪些地方有草。

【输入】

输入的第一行包含两个整数 \(n,m\)

接下来 \(n\) 行,每行包含 \(m\) 个字母,表示初始的空地状态,字母之间没有空格。如果为小数点,表示为空地,如果字母为 \(g\),表示种了草。

接下来包含一个整数 \(k\)。其中,\(2<n,m≤1000,1<k≤1000\)

【输出】

输出 \(n\) 行,每行包含 \(m\) 个字母,表示 \(k\) 个月后空地的状态。如果为小数点,表示为空地,如果字母为 \(g\),表示长了草。

【输入样例】

4 5
.g...
.....
..g..
.....
2

【输出样例】

gggg.
gggg.
ggggg
.ggg.

【算法标签】

《蓝桥 149 长草》 #2020# #模拟# #省模拟赛# #BFS#

【解题思路】

image

【代码详解】

# 使用暴力模拟只能过80%(因为是4重循环),改用BFS
n, m = [int(i) for i in input().split()]  # 输入n和m
a = [["." for i in range(m)] for i in range(n)]  # 初始化a矩阵
queue =[]  # 定义队列
for i in range(n):  # 输入矩阵ls = input()for j in range(m):a[i][j] = ls[j]if a[i][j]=='g':  # 如果某个位置为gqueue.append((i, j))  # 就添加到队列queue中
k = int(input())  # 输入k
dx = [-1, 1, 0, 0]  # 定义坐标偏移
dy = [0, 0, -1, 1]def bfs():length = len(queue)  # 得到队列长度while length>0:  # 当队列不为0(类似C++的q.empty())tmp = queue.pop(0)  # 获取队头元素x, y = tmp[0], tmp[1]  # 得到队头元素坐标for i in range(4):  # 遍历4个方向xx = x+dx[i]yy = y+dy[i]if xx>=0 and xx<n and yy>=0 and yy<m and a[xx][yy]=='.':  # 在范围内,如果是'.'a[xx][yy] = 'g'  # 就更新为'g'queue.append((xx, yy))  # 通知将这个坐标添加到队列中,下次循环使用length-=1  # 每次队列长度减1(并不是队列取到空)for i in range(k):  # 进行k次bfs遍历bfs()
for i in range(n):  # 输出a矩阵for j in range(m):print(a[i][j], end="")print()

【运行结果】

4 5
.g...
.....
..g..
.....
2
gggg.
gggg.
ggggg
.ggg.
http://www.jsqmd.com/news/434727/

相关文章:

  • 西安柴油发电机优选|龙鸿机电:上柴发电机现货供应,本土靠谱服务商 - 朴素的承诺
  • 使用thrift的php版本操作hbase数据库
  • 题解:蓝桥云课 2489 进制
  • 预算有限怎么选热浸锌桥架?2026年六款高性价比产品口碑排名评测 - 速递信息
  • 题解:蓝桥云课 760 数的计算
  • 2026年3月SQL网站安全机构推荐,精准检测与稳定性能深度解析 - 品牌鉴赏师
  • 告别繁琐操作!西恩士智能触控系统让零部件清洁度测试仪更好用 - 技术权威说
  • hadoop+Spark+django基于大数据技术的书籍评论情感分析系统(源码+文档+调试+可视化大屏)
  • 2026 年度半导体展览会排行榜 国内知名芯片展会排名推荐 - 品牌2026
  • 探讨全国高性价比优质的专利申请代办机构怎么选 - 工业推荐榜
  • 2026年,甘肃电动伸缩门厂家推荐 万成门业,源头工厂 附选购技巧 - 宁夏壹山网络
  • 三亚海鲜餐厅推荐榜单2026年必吃海鲜大咖大奖
  • 南通诺丁山花园婚礼宴会厅怎么选择,有什么技巧? - myqiye
  • 题解:蓝桥云课 155 最大距离
  • 颗粒物清洁度检测系统厂家怎么选?西恩士用数据说话,筑牢质量防线 - 技术权威说
  • 题解:蓝桥云课 143 饮料换购
  • 修改注册表修改环境变量PATH
  • macOS 上 Chrome CDP 远程调试端口无法监听的排查与解决
  • 零部件清洁度测试装置哪家好?西恩士凭何在品牌排行中脱颖而出? - 技术权威说
  • 颗粒物清洁度检测设备厂家怎么选?西恩士售后服务与行业应用深度推荐 - 技术权威说
  • Ollama 0.17 原生集成 OpenClaw:本地 AI 代理的便利与隐藏风险
  • 建议收藏|倾心之选的降AIGC网站 —— 千笔·专业降AI率智能体
  • 探秘书匠策AI:课程论文创作的“魔法棒”
  • DBeaver下载安装全攻略教程(附安装包+详细图解) - sdfsafafa
  • 2026最新餐饮酒店工业二手设备回收,哪家实力强服务优? - 深度智识库
  • c++语法小结
  • 2026本地商家必看|四点拿捏年轻人消费心理 - Redbook_CD
  • 工业清洁度检测设备哪个牌子好?西恩士颗粒物清洁度测试装置品牌排行推荐 - 仪器权威论
  • 2026年无锡三合一过滤机价格大揭秘,技术强专业厂家费用分析 - mypinpai
  • 揭秘书匠策AI:课程论文创作的“智慧魔法棒”