11.python解答2020年蓝桥杯省赛python组 寻找2020

2023-11-06

11.python解答2020年蓝桥杯省赛python组 寻找2020

问题描述
小蓝有一个数字矩阵,里面只包含数字 0 和 2。小蓝很喜欢 2020,他想找到这个数字矩阵中有多少个 2020 。

小蓝只关注三种构成 2020 的方式:
• 同一行里面连续四个字符从左到右构成 2020。
• 同一列里面连续四个字符从上到下构成 2020。
• 在一条从左上到右下的斜线上连续四个字符,从左上到右下构成 2020。

例如,对于下面的矩阵:
220000
000000
002202
000000
000022
002020
一共有 5 个 2020。其中 1 个是在同一行里的,1 个是在同一列里的,3 个是斜线上的。
小蓝的矩阵比上面的矩阵要大,由于太大了,他只好将这个矩阵放在了一个文件里面,在试题目录下有一个文件 2020.txt,里面给出了小蓝的矩阵。
请帮助小蓝确定在他的矩阵中有多少个 2020。

2020.txt下载https://wwe.lanzous.com/iicFtmyxd7e

思路

暴力法,循环枚举每一个矩阵坐标,看坐标三个方向的四位数是否组成2020


import time
time1 = time.time()

mat = []
mat = ['220000',
'000000',
'002202',
'000000',
'000022',
'002020']

# 如果用文件的2020,请去掉注释,同时把上面的mat矩阵注释掉
#with open(r'C:\Users\mgboy\Desktop\2020.txt','r',encoding='utf-8') as f:
    #for line in f.readlines():
        #mat.append(line.strip())


m = len(mat)# 行数
n = len(mat[0])# 列数
print('m = {} n = {}'.format(m,n))

num = '2020'

count = 0

for i in range(m):
    for j in list(range(n)):
        # 横向
        if j+3 < n:
            # 横向
            if mat[i][j:j+4] == '2020':
                count += 1
        
        # 竖向
        if i+3 < m:
            s = ''
            for ii in list(range(i,i+4)):
                s += mat[ii][j]
            if s == '2020':
                count += 1
        # 斜向
        if j+3 < n and i+3 < m:
            s = ''
            for ii,jj in zip(list(range(i,i+4)), list(range(j, j+4))):
                s += mat[ii][jj]
            if s == '2020':
                count += 1

print(count)

print('花费时间:{}'.format(time.time()-time1))

测试矩阵结果

image-20210315194759908

文件结果

image-20210315194912804

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

11.python解答2020年蓝桥杯省赛python组 寻找2020 的相关文章

  • 【python】冒泡法--详细讲解(python实现)

    博 主 米码收割机 技 能 C Python语言 公众号 测试开发自动化 获取源码 商业合作 荣 誉 阿里云博客专家博主 51CTO技术博主 专 注 专注主流机器人 人工智能等相关领域的开发 测试技术 python 冒泡法详解 python
  • 【牛客网】BC146 添加逗号

    一 题目描述 牛客网题目链接 添加逗号 牛客题霸 牛客网 描述 对于一个较大的整数 N 1 lt N lt 2 000 000 000 比如 980364535 我们常常需要一位一位数这个数字是几位数 但是如果在这 个数字每三位加一个逗号
  • 输入10个数,求它们的平均值,并输出大于平均值的数据的个数

    题目描述 输入10个数 求它们的平均值 并输出大于平均值的数据的个数 输入 10个数 输出 大于平均数的个数 样例输入 1 2 3 4 5 6 7 8 9 10 样例输出 5 include
  • leetcode刷题(二)

    题目一 题目链接 void reverse int arr int left int right while left
  • 动态规划 - 切钢条 (python)

    博主在读 算法导论 时 看到了切钢条的自底向上的伪代码 就分享给大家 BOTTOM UP CUT ROD p n 1 let r 0 n be a new array 2 r 0 0 3 for j 1 to n 4 q 负无穷 5 for
  • python 测试开发岗 笔面试编程题

    题目网址 leetcode 题目名称 1 两数之和 3 无重复字符的最长子串 20 有效的括号 32 最长有效括号 53 最大子数组和 70 爬楼梯 80 删除有序数组中的重复项 II 83 删除排序链表中的重复元素 141 环形链表 20
  • 牛客专项练习之设计模式

    开头先一句水平有限 仅供参考 有错误可以提醒我改一下 感谢 1 如果需要一个语言解释执行 并且可以将语言中的句子表示为一个抽象语法树的时候 对效率要求不高的情况下 应该选择何种设计模式 题目中的解释二字就告知选项 解释器模式 给定语言 定义
  • 11.python解答2020年蓝桥杯省赛python组 寻找2020

    11 python解答2020年蓝桥杯省赛python组 寻找2020 问题描述 小蓝有一个数字矩阵 里面只包含数字 0 和 2 小蓝很喜欢 2020 他想找到这个数字矩阵中有多少个 2020 小蓝只关注三种构成 2020 的方式 同一行里
  • 数据结构——链表练习题

    题目一 思路 双指针 当listA和listB其中一个位空时 两个列表就不存在相交 返回NULL 当listA和listB都不为空链表时 指针phead1和phead2同时分别遍历listA和listB 遍历完后 再去分别遍历listB和l
  • LeetCode刷题笔记--015. 三数之和

    题目描述 给定一个包含 n 个整数的数组 nums 判断 nums 中是否存在三个元素 a b c 使得 a b c 0 找出所有满足条件且不重复的三元组 注意 答案中不可以包含重复的三元组 例如 给定数组 nums 1 0 1 2 1 4
  • 【牛客网刷题】VL8-VL10 generate for语句、比较数大小、function的使用

    写在前面 本系列博客记录牛客网刷题记录 日拱一卒 功不唐捐 目录 VL8 使用generate for语句简化代码 题目描述 输入描述 输出描述 RTL 设计 testbench 设计 仿真测试 VL9 使用子模块实现三输入数的大小比较 题
  • 【刷题】华为笔试面试机考 [HJ5] - 进制转换

    题目地址 点击跳转 题目描述 写出一个程序 接受一个十六进制的数 输出该数值的十进制表示 输入描述 输入一个十六进制的数值字符串 注意 一个用例会同时有多组输入数据 请参考帖子https www nowcoder com discuss 2
  • leetcode——189.轮转数组(C语言2种思路)

    文章目录 1 题目 2 解法1 开辟新数组 2 1 思路 2 2 代码实现 3 解法2 翻转法 3 1 思路 3 2 代码实现 1 题目 给定一个整数数组 nums 将数组中的元素向右轮转 k 个位置 其中 k 是非负数 示例1 输入 nu
  • 【C语言进阶】从一组数字中,找出只出现过一次的两个数字

    题目描述 有一组数字 只有两个数字出现过一次 其余数字都出现过两次 请找出只出现过一次的数字 举例 数组 1 2 3 4 6 1 2 3 4 8 输出 6 8 思路 这种题目是一种特定类型 形式1 一组数字 只有一个数字出现过一次 其余数字
  • 【数据结构--顺序表】移除元素(移除数组中等于val的元素,返回移除后数组新长度)

    题目描述 思路1 定义一个指针str指向首元素 遍历数组nums 如果 str val 则将该元素后面的所有元素前挪一位覆盖该元素 若 str val 则str 然而我们来看看这种写法的时间复杂度 我们可否将时间复杂度优化一下呢 由此想到第
  • LeetCode 1188. 设计有限阻塞队列 (生产者和消费者问题)

    实现一个拥有如下方法的线程安全有限阻塞队列 BoundedBlockingQueue int capacity 构造方法初始化队列 其中capacity代表队列长度上限 void enqueue int element 在队首增加一个ele
  • 动态规划(上)

    题目一 109 数字三角形 LintCode 分治 利用递归可以很快的写出程序 class Solution public int traverse vector
  • leetcode刷题——多维枚举(一)

    题目一 思路 双指针 bool isSubsequence char s char t int fast 0 int slow 0 while slow
  • 【HDLBits 刷题 11】Circuits(7)Finite State Manchines 18-26

    目录 写在前面 Finite State Manchines Fsm serialdata Fsm serialdp Fsm hdlc Design a Mealy FSM ece241 2014 q5a ece241 2014 q5b 2
  • 跟着英雄刷算法-素数

    跟着英雄大佬刷算法的第三天 数论基础 优化一 对于一个非素数n来说 如果x是n的一个因子 那么n x也是n的一个因子 我们可以假设x 所以对于一个数n 判断它是否为一个素数我们需要确定的范围为 2 根号下n 优化二 例1 不是素数返回0 b

随机推荐

  • 不看后悔的Linux内核Makefile文件详解

    好文章推荐 CSDNhttps mp csdn net mp blog creation editor 127774142 第一部分 概述 内容有点多 建议大家先收藏慢慢看哦 什么是makefile 或许很多Winodws的程序员都不知道这
  • linux中 mysql数据查询出来中文变问号的处理方法

    我们在linux里面 命令行查询数据库的时候 可能会遇到查询出来的中文是问号 如下图 这种情况一般是字符集编码的问题 show variables like character set 这个时候发现results的编码不是utf 8 cli
  • LaTex常用技巧5:公式太长换行并加大括号

    使用LaTex做笔记的时候发现公式太长 一行会超出页面 于是想到换行 原来的代码 这里使用了包bm 测试的时候前面请使用 usepackage bm begin equation i G bm a begin cases i i 1 ddo
  • SDIO的SPI模式驱动分析

    SPI模式由一个由基于闪存SD存储卡提供的次要通信协议组成 此模式是SD存储卡协议的子集 此接口在上电 CMD0 后的每一个复位命令期间被 选择 SPI标准只定义物理链接 而不提供数据传输协议 SD存储卡SPI执行利用SD存储卡协议和命令集
  • 2023第十四届蓝桥杯JavaA组真题

  • 关于java数组的扩容问题

    这是一个java数组实例 对一个顺序数组插入一个数 很明显直接插入是不行的 因为java中数组是固定的 不变是不能动态扩容的 想要插入一个数必然要重新创建一个数组 其长度比原数组大 然后对其进行拷贝 接下来要做的工作就是在新数组里面实现插入
  • 一次学校实训总结

    总结 前言 1 Linux基本命令 2 编程开发经验 3 一点MQTT协议的小知识点 4 学习中遇到的一些问题 5 遗忘的知识点与待解决的疑惑 写在后面的话 前言 好久不见 本来说好要更哈工大那一版的操作系统的 现在看来要食言了 正在准备考
  • 监听竖线一直在底部vue2

    要做一个竖线固定在固定区域上 占满固定区域的顶部到底部 固定区域会有滚动条 滚动条滚动的时候竖线要跟随吧变化 首先看看效果 解决办法 body代码 div class liebiao div style height 100 width 1
  • HPC超算初识思维导图

    HPC是高性能计算 High Performance Computing 机群的简称 指能够执行一般个人电脑无法处理的大资料量与高速运算的电脑 其基本组成组件与个人电脑的概念无太大差异 但规格与性能则强大许多 现有的超级计算机运算速度大都可
  • 如何用Redis实现搜索接口

    大家如果是做后端开发的 想必都实现过列表查询的接口 当然有的查询条件很简单 一条 SQL 就搞定了 但有的查询条件极其复杂 再加上库表中设计的各种不合理 导致查询接口特别难写 然后加班什么的就不用说了 不知各位有没有这种感受呢 下面以一个例
  • 华为公司经典设计规范合集

    下载链接 华为公司经典设计规范合集资源 CSDN文库 目录
  • Feature Selective Anchor-Free Module for Single-Shot Object Detection

    参考 Feature Selective Anchor Free Module for Single Shot Object Detection 云 社区 腾讯云 摘要 提出了一种简单有效的单阶段目标检测模块 特征选择无锚定 FSAF 模块
  • 数据库及SQL----常用知识点总结

    数据库也是计算机类笔试面试中不可避免会遇到的考点 尤其是银行和部分传统软件类公司 这里根据整理的资料 对数据库的相关知识也做个总结吧 希望学过数据库但长时间不用的同学根据这些知识能够回忆和重拾 没学过的同学能掌握一些数据库的基础知识 第一节
  • osgEarth的Rex引擎原理分析(四十六)如何定制椭球体并进行椭球体间坐标转换

    目标 目标 四十五 中的108 可以用于CGCS2000和WGS84的坐标转换 osg EllipsoidModel默认创建wgs84椭球体 将CGCS2000和WGS84的经纬高坐标分别转换为XYZ 然后比较其差值 osg Coordin
  • 重装mac显示未能恢复服务器取得联系,mac重开电脑后显示重装提示解决办法

    nodejs定义函数的方法 test 163 home exenode part3 module exports more calc js module exports sum function var r hdu 1789 Doing H
  • auto类型推导

    auto的作用 auto是我在编码中经常使用到的C 11新特性之一 主要用于变量的自动类型推导 如auto num 3 则推导出num的类型为int32 t auto的优势 相较于原始的显式类型去声明变量类型 auto的优势有以下几点 au
  • java全局异常捕获处理

    description TODO Author Administrator Date 2021 3 29 Version 1 0 ControllerAdvice public class YjzdyExceptionHandler Exc
  • Windows10电脑文件自动同步备份工具有哪些?

    对于工作中的重要数据人们一般都会有备份的习惯 但是如果都是人工手动复制粘贴 那效率会非常低下 Windows10中电脑文件自动同步备份工作有哪些 工具1 FileYee 推荐值 软件优势 可同百度网盘 移动硬盘实现自动同步备份 功能说明 F
  • 浏览器同源策略

    什么是同源 如果两个 URL 的协议 protocol 端口 port 域名 host 都相同的话 则这两个 URL 是同源的 下表给出了与 URL http store company com dir page html 的源进行对比的示
  • 11.python解答2020年蓝桥杯省赛python组 寻找2020

    11 python解答2020年蓝桥杯省赛python组 寻找2020 问题描述 小蓝有一个数字矩阵 里面只包含数字 0 和 2 小蓝很喜欢 2020 他想找到这个数字矩阵中有多少个 2020 小蓝只关注三种构成 2020 的方式 同一行里