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

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

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

(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. 跟我学雨林木风系统制作——2.涉及的技术及用到的工具介绍
  2. android nuwa2,android热更新
  3. Unity 开发和配置
  4. linux安装nagios客户端
  5. 微软CEO纳德拉恢弘计划:让开发者始终忘不了微软
  6. Mysql的MVCC是什么
  7. STM32之RTT调试
  8. 苏宁易购:2021年度预计商品采购总金额增至不超120亿元
  9. 马斯克再带货狗狗币:超7成网友票选狗狗币为未来货币
  10. mysql效率索引_mysql下普通索引和唯一索引的效率对比
  11. c# getresponsestream返回byte[]_C#通过SharpZipLib库创建压缩文件
  12. CentOS上使用sysstat做系统监控测试
  13. 10.22 Ext JS 快速开发工具
  14. AI 口罩督查官诞生,识别率高达 85%!
  15. 【个人笔记】OpenCV4 C++ 图像处理与视频分析 08课
  16. 大量HW红队+蓝队文档下载-定期更新
  17. ISO14001是什么管理体系
  18. 使用java生成折线图_Java折线图简单绘制
  19. Android识别字符串中的简体和繁体字
  20. python中re.sub函数

热门文章

  1. Java社会实践报告范文精选5篇
  2. 视频教程-微信生活缴费商业项目标准版-Java
  3. matlabR2019b怎么调整字体大小
  4. java 父类访问子类_java中父类访问子类变量
  5. 北京化工大学 2022-2023-1 ACM集训队每周程序设计竞赛(7)题解
  6. Springboot毕设项目浪漫屋婚纱影楼管理系统d96rq(java+VUE+Mybatis+Maven+Mysql)
  7. MAVEN 淘宝中央仓库
  8. FOB,CIF,CFR的区别是什么?
  9. 现代计算机图形学入门ppt,计算机图形学完整课件.ppt
  10. BigDecimal 金额转换成万和亿,并且去掉小数点后面的0