题解:P10983 [蓝桥杯 2023 国 Python A] 跑步计划

· · 题解

思路

审题得知当日期中存在 1 或为星期一时,小明会跑 5 千米,其余为 1 千米。故直接模拟即可,循环将 x \bmod 10 得到个位,并对其进行判断,x 除以 10 来消去个位。

代码

m=[0,31,28,31,30,31,30,31,31,30,31,30,31]
day=7
ans=0
for i in range(1, 13):
    for j in range(1, m[i] + 1):
        if i in [11, 12,1] or j==1 or (10<=j<20) or j in [21,31] or day%7==1 or i==10:ans+=5
        else:ans+=1
        day+=1
print(ans)