第十一届蓝桥杯试题B:寻找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)  # 打印满足条件的次数
posted @   Frommoon  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示