题目如下:
小蓝在一张 无限大 的特殊画布上作画。

这张画布可以看成一个方格图,每个格子可以用一个二维的整数坐标表示。

小蓝在画布上首先点了一下几个点:

(0, 0)
(2020, 11)
(11, 14)
(2000, 2000)
只有这几个格子上有黑色,其它位置都是白色的,每过一分钟,黑色就会扩散一点。

具体的,如果一个格子里面是黑色,它就会扩散到上、下、左、右四个相邻的格子中,使得这四个格子也变成黑色

(如果原来就是黑色,则还是黑色)。

请问,经过 2020 分钟后,画布上有多少个格子是黑色的。

答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。
本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

解答

我们需要利用bfs进行求解,首先我们需要不断地从列表中加入和删去元素,而队列是一个很好的选择python队列讲解,因为队列的移除操作复杂度仅仅只有O(1),添加操作和列表一样。之后是我们该怎样去解决问题。我们可以用数据库进行解决总和问题,我们创建一个(10000, 10000)的矩阵,同时给我们的四个初始坐标加上2100(防止我们后面出现了负数,找不到位置),之后我们就可以肆无忌惮的扩散了,我们创建一个初始时所有值为0的矩阵,初始坐标为1,扩散到0的地方我们变成1,并且加上坐标,否则不需要进行改变。
代码如下

import numpy as np
from queue import Queue
x = Queue()
#我们用第三个数作为时间标注
x.put((2100, 2100, 0))
x.put((2100+2020, 11+2100, 0))
x.put((2100+11, 2100+14, 0))
x.put((2000+2100, 2000+2100, 0))
m = [(2100, 2100),(2100+2020, 11+2100),(2100+11, 2100+14),(2000+2100, 2000+2100)]
moves = [(-1, 0), (0, -1), (1, 0), (0, 1)]
result = np.zeros((10000, 10000))
for i in m:result[i[0]][i[1]] = 1
ans = 4
while not x.empty():a = x.get()for move in moves:newX = a[0] + move[0]newY = a[1] + move[1]if result[newX][newY] == 0 and a[2]+1 <= 2020:result[newX][newY] = 1x.put((newX, newY, a[2]+1))
print(result.sum())

答案:20312088.0

扩散(蓝桥杯真题)——python解答相关推荐

  1. 2019年第十届蓝桥杯真题python解答(更新中)

    1. 后缀表达式 首先要了解什么是后缀表达式: 后缀表达式,指的是不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则). 由于后缀表达式 ...

  2. 李白打酒(蓝桥杯真题)——python讲解

    题目如下: 话说大诗人李白,一生好饮.幸好他从不开车. 一天,他提着酒壶,从家里出来,酒壶中有酒2斗.他边走边唱:无事街上走,提壶去打酒. 逢店加一倍,遇花喝一斗.这一路上,他一共遇到店5次,遇到花1 ...

  3. 蓝桥杯真题python B试题 C: 纸张尺寸

    [问题描述] 在 ISO 国际标准中定义了 A0 纸张的大小为 1189mm × 841mm,将 A0 纸 沿长边对折后为 A1 纸,大小为 841mm × 594mm,在对折的过程中长度直接取 下整 ...

  4. 第十二届蓝桥杯D题python解答

    由于要求解的是最短路径,所以我们采用迪杰斯特拉算法,按照改模板去套代码,首先初始化数据,最小公倍数利用乘积除以最大公因数计算求得 import math g=[[float('inf')]*2021 ...

  5. 鲁卡斯队列蓝桥杯真题python解法

    题目描述 解题思路 本题直接暴力,先构造1 3 4 7这种列表.然后用format 判断保留6位小数后谁先满足精度相等 代码 a=[1,3]index=2while index<300:a.ap ...

  6. 时间显示-蓝桥杯真题-python解法

    题目描述 解题思路 题目只求当天的那么就要把多余的天除去,然后再把剩下的转换为时分秒,主要是格式问题 代码 n=int(input())n=n%(1000*24*60*60)#去掉天n=n-n%100 ...

  7. python解答蓝桥杯真题2 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在19351936年应邀来中国清华大学讲学。。。

    python解答蓝桥杯真题2 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学.他曾在1935~1936年应邀来中国清华大学讲学... 问题描述 全排列模板: 美国数学家维纳(N. ...

  8. python解答蓝桥杯真题3 省模拟赛 计算机存储中有多少字节

    python解答蓝桥杯真题3 省模拟赛 计算机存储中有多少字节 题目 问题描述 在计算机存储中,12.5MB是多少字节? 答案提交 这是一道结果填空的题,你只需要算出结果后提交即可.本题的结果为一个整 ...

  9. python解答蓝桥杯真题1 高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。。。

    python解答蓝桥杯真题1 高斯日记 大数学家高斯有个好习惯:无论如何都要记日记... 题目标题: 高斯日记 大数学家高斯有个好习惯:无论如何都要记日记. 他的日记有个与众不同的地方,他从不注明年月 ...

  10. 【蓝桥杯真题】16天冲刺 Python

    距离比赛很快了,希望和我一起准备的PY党能更加熟练的掌握Python! 1.距离和(模拟赛填空题) 问题描述: 两个字母之间的距离定义为它们在字母表中位置的距离.例如 A和 C 的距离为 2,L 和  ...

最新文章

  1. Linux系统捕获数据包流程
  2. 自动布局(autoLayout)演练2
  3. ThreadGroup其实比ExecutorService更好
  4. 微信“拍一拍”,竟然可以使用Python实现,你get到了吗?
  5. [ActionScript 3.0] AS3.0 对象在一定范围随机显示不重叠
  6. 刚装的系统没有sql server(mssqlserver)_数据库与SQL学习
  7. 博客园的“随笔、文章、新闻、日记”有啥区别
  8. java功能性需求分析_Java-CS-Record/3、结构化需求分析.md at main · yzx66-net/Java-CS-Record · GitHub...
  9. Flutter的Align组件
  10. PHP 遍历文件夹及文件类及处理类
  11. python制作软件安装包_Python安装包及开发工具
  12. 2020新定额及配套招投标评审办法宣贯会成功举办
  13. DeskPins-让应用始终在最前面
  14. 【蓝桥杯】双非本科?大一大二不敢参加?这篇蓝桥全解析帮你打消疑虑轻松获奖【内附蓝桥资源和学习路线】
  15. sola病毒批量恢复工具 —— 大一的回忆
  16. STM32单片机介绍2
  17. PLC控制系统接地要求
  18. PS中图层混合模式的Blend公式
  19. 倾斜摄影静态单体化 BIM模型调用解决思路
  20. VMware-KVM安装

热门文章

  1. Python入门学习札记
  2. Excel中只对可见数据求和,实现完美自动筛选.
  3. 手绘漫画初学者如何一步步学手绘漫画
  4. ubuntu根目录清理
  5. click().onclick的使用和区别,自动触发
  6. 01 -Python入门- Lesson1 为何要学习 Python 编程
  7. 免费ChatGPT自动批量生成文章工具
  8. Debian11安装Python3.10
  9. 几大主流国产浏览器统一屏蔽!996.icu即将落幕?
  10. 电话销售实战经验总结