题目
题解:暴力
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) # 打印满足条件的次数