首页 > 其他分享 >第十一届蓝桥杯试题B:寻找2020

第十一届蓝桥杯试题B:寻找2020

时间:2024-03-05 13:49:17浏览次数:28  
标签:子串 试题 计数器 li 蓝桥 range num 2020

目录

题目

题解:暴力

  • 需要知道文件的操作;发现2020的行列标变化
li = []  # 创建一个空列表用于存储读取的文本内容
with open(r'2020.txt', 'r') as fp:  # 打开名为 '2020.txt' 的文件,并使用文件句柄 fp
    for line in fp.readlines():  # 逐行读取文件内容
        li.append(line.strip())  # 去除行两端的空白字符,并将每行内容添加到列表 li 中
m = len(li)  # 获取列表 li 的行数,即文本的总行数
n = len(li[0])  # 获取列表 li 的第一行的长度,即文本的列数
num = 0  # 初始化计数器 num 为 0,用于记录满足条件的次数
# 检查每一行中是否存在 '2020' 子串
for i in range(m):
    for j in range(n-3):
        if li[i][j] == '2' and li[i][j+1] == '0' and li[i][j+2] == '2' and li[i][j+3] == '0':
            num += 1  # 如果存在 '2020' 子串,则计数器 num 加 1
# 检查每一列中是否存在 '2020' 子串
for a in range(m-3):
    for b in range(n):
        if li[a][b] == '2' and li[a+1][b] == '0' and li[a+2][b] == '2' and li[a+3][b] == '0':
            num += 1  # 如果存在 '2020' 子串,则计数器 num 加 1
# 检查每个斜对角线方向上是否存在 '2020' 子串
for g in range(m-3):
    for k in range(n-3):
        if li[g][k] == '2' and li[g+1][k+1] == '0' and li[g+2][k+2] == '2' and li[g+3][k+3] == '0':
            num += 1  # 如果存在 '2020' 子串,则计数器 num 加 1
print(num)  # 打印满足条件的次数

标签:子串,试题,计数器,li,蓝桥,range,num,2020
From: https://www.cnblogs.com/lushuang55/p/18053845

相关文章

  • JOISC2020
    [JOISC2020]最古の遺跡3好难的题。首先考虑给出\(h\)怎么求\(A\),设\(h'_i\)为\(i\)位置剩下的高度,没了就\(=0\)。方便起见,我们把原序列翻转一下,那么题目的操作就是,每种高度的最靠左的位置不变。我们从左到右依次求解,先令\(h'_i=h_i\),若\(h'_i\)在\(j<i\)的\(......
  • Docker常见面试题
    1.什么是Docker?Go语言开发,容器虚拟化技术,C/S架构,具有隔离、快速、轻便的特点。2.Docker与虚拟机有何不同?相比于虚拟机,docker更快速、轻便。快速:秒级启动轻便:联合文件系统3.Docker镜像是什么?联合文件系统。可以通过DockerFile构建或通过容器Commit生成。4.Docker容器是......
  • 第十一届蓝桥杯:数字三角形
    目录题目暴力:最大路径和题解:动态规划题目暴力:最大路径和n=int(input())#输入数塔的行数#创建一个二维数组a来表示数塔,初始值都为0a=[[0]*(n+1)for_inrange(n+1)]#从第1行开始逐行读取输入,并计算最大路径和foriinrange(1,n+1):forjinrange(1,i......
  • 【2024面试刷题】一、Spring Cloud 面试题
    1、什么是SpringCloud?SpringCloud是一系列框架的有序集合。它利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、智能路由、消息总线、负载均衡、断路器、数据监控等,都可以用SpringBoot的开发风格做到一键启动和部署。SpringClou......
  • 第十一届蓝桥杯试题I:平面切分
    目录题目题解题目题解多画一下发现面的数量等于交点数量+1,进而转化为求交点的数量,注意同一个交点只记一次,需要去重操作lines=set()#存储直线的集合res=1#初始面的数量为1n=int(input())#输入边的数量defcheck(A,B):points=set()#存储交点的......
  • P8681 [蓝桥杯 2019 省 AB] 完全二叉树的权值
    做这道题的时候混淆了满二叉树和完全二叉树的概念:满二叉树:顾名思义,就是塞满了完全二叉树:除了最后一层之外,每一层都必须是满的,且最后一层如果不满,则所有节点都尽可能靠左。#include<iostream>#include<stdio.h>#include<algorithm>#include<string>#defineFor(i,j,n......
  • 前端面试题
    一、   Vue的双向绑定的原理是什么?里面的关键点在哪里?二、   实现水平垂直居中的方式?三、   常用伪元素有哪一些?四、   移动端如何适配不同屏幕尺寸?五、   本地存储有哪一些?他们三者有什么区别?六、   Js的数据类型?如何判断js的数据类型?七、   ......
  • python基础面试题
    1.断言是什么?assert(断言)用于判断一个表达式,在表达式条件为false的时候会抛出异常AssertionError,ture时断言通过1.1基本语法是:<assert要判断的表达式>1.2断言方法及其用法示例:assertEqual(a,b):断言a和b相等。self.assertEqual(2+2,4)assertNotEqual(a,b):断......
  • Java高频面试题---Spring
    一、介绍一下Spring的IOC所谓的IOC,就是控制反转的意思。何为控制反转?在传统的程序设计中,应用程序代码通常控制着对象的创建和管理。例如,一个对象需要依赖于其他对象,那么它会直接new出来对象。这样的设计通常被称为“流程控制”。而在IOC中,控制关系发生了反转。控制权被转......
  • 蓝桥杯细节补充
    structm{inti,j,k;booloperator<(constm&t){if(i!=t.i)returni<t.i;if(j!=t.j)returnj<t.j;returnk<t.k;}}m[N];//进行结构体的比较时,重载运算符规定好规则,然后用sort进行排序sort(m,m+num);1221.四平方和https......