每天刷一道题,话不多说,先刷近两年的题吧,从2020的开始,如果有一起的可以加入我们!!!
一起来刷题,冲击国赛!!!
扫码 我的主页 网页左边 群二维码。
加入方式:可以在下方的微信名片加我,然后拉你入群。(记得备注暗号:我要拿国奖)
2020年第十一届蓝桥杯赛题总览
2020年的题就是这些,类型分为两种,分别是结果填空和程序设计,我们每天刷一道题,省赛没问题!
蛇形填数(题目)
(本题总分:10分)
—>【问题描述】
—>【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
解析
通过阅读题干,本题——难度一般:⭐⭐⭐
考察类型:枚举
考察知识点:寻找规律
分析:
由于是填空题,我们只需要得出一个结果即可。结果为一个整数。可以用枚举(简单易用,没毛病)。
代码
Python代码实现:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2022/2/26 20:17
# @Author : 府学路18号车神
# @Email :yurz_control@163.com
# @File : Day04.py
import time
m, n, res = 0, 0, 0 # 设置行起点、列起点、计数器定位
end = 20 # 终点的行列位置
# 按照我们的规律,坐标相加的移动方位
"""
这里使用到了按位与操作,简单复习下:“&”符号是指按位与运算符,比如a&b,如果 a,b都为1结果为1,否则为0。相同为1,不同为0
"""
start_time = time.time()
while True: # 死循环
res += 1 # 计数开始
if m == end-1 and n == end-1:
break # 这里是循环出口
if (m + n) & 1: # 如果 a,b都为1结果为1,否则为0;如:(0,1)、(1,0)奇数,下一步执行的操作是,往下↓和往斜下↓
m += 1 # 行 m 加一,向下移动
if n > 0:
n -= 1 # 向左移动
else:
n += 1 # 否则,向右移动
if m > 0:
m -= 1 # 向上移动
end_time = time.time()
print("第20行20列的数是多少", res)
print("总共耗时:", end_time-start_time)
由此,我们可以快速的出结果为:761
今天开刷第 四 天,难度一般,欢迎大家加入,一起变强,一起自律,一起上国赛!!!
有不同解法的可以在下面留言哦!~
往期刷题路线:
刷题路线 | Detail |
---|---|
Day-01 | 门牌制作 |
Day-02 | 寻找2020 |
Day-03 | 跑步锻炼 |
官方刷题练习系统:http://lx.lanqiao.cn/
ღ( ´・ᴗ・` )
❤