【十一届蓝桥杯】

时间: 2023-07-10 admin IT培训

【十一届蓝桥杯】

【十一届蓝桥杯】

ans = 0

for i in range(1,2021):

ans += (str(i).count('2'))

print(ans)

第二个

def check(s):

return s == '2020'

matrix = []

s = input()

while '1' not in s:

matrix.append(list(s))

s = input()

n,m = len(matrix),len(matrix[0])

ans = 0

for i in range(n):

for j in range(m):

if i + 3 < n and check(matri[i][j] + matrix[i+1][j] + matrix[i+2][j] + matrix[i+3][j]):

ans += 1

if j + 3 < m and check(matrix[i][j:j+4]):

ans += 1

if i + 3 < n and j + 3 < m and check(matri[i][j] + matrix[i+1][j+1] + matrix[i+2][j+2] + matrix[i+3][j+3]):

ans += 1

print(ans)

16520

第三个

from datetime import *

start = date(2000,1,1)

end = date(2020,10,2)

tmp = timedelta(days = 1)

ans = 0

while start != end:

if start.weekday() == 0 or start.day == 1:

ans += 2

else:

ans += 1

start = start + tmp

print(ans)

8879

第四个

i = 0

j = 0

num = 0

while True:

num += 1

if i == 19 and j == 19:

break

if (i+j)&1:

i += 1

if j > 0:

j -= 1

else:

j += 1

if i > 0:

i -= 1

print(num)

761

第五个人

def bubble_sort(arr):

num = 0

for i in range(len(arr)-1,0,-1):

for j in range(i):

if arr[j] > arr[j+1]:

num += 1

arr[j],arr[j+1] = arr[j+1],arr[j]

return num

print(bubble_sort(list('jonmlkihgfedcba')))

100次

第六个

n = int(input())

num1 = 0

num2 = 0

for _ in range(n):

score = int(input())

if score >= 60:

num1 += 1

if score >= 85:

num2 += 1

print(str(round(num1*100/n))+'%')

print(str(round(num2*100/n))+'%')

第七个

cnt = [0]*26

s = input()

for alpha in s:

cnt[ord(alpha) - ord('a')] += 1

k = 0

for i in range(26):

if cnt[i] > cnt[k]:

k = i

print(chr(k+ord('a')))

print(cnt[k])

第八个

n = int(input())

matrix = [[0]*( _ + 1 ) for _ in range(n)]

for i in range(n):

tmp = [int(a) for a in input().split(' ')]

matrix[i] = tmp

dp = matrix[:]

for i in range(1,n):

for j in range(i+1):

if j == 0:

dp[i][j] += dp[i-1][j]

elif j == i:

dp[i][j] += dp[i-1][j-1]

else:

dp[i][j] += max(dp[i-1][j],dp[i-1][j-1])

if n&1:

print(dp[n-1][n//2])

else:

print(max(dp[n-1][n//2-1],dp[n-1][n//2]))

第九个

n = int(input())

line = []

for _ in range(n):

tmp = [int(a) for a in input().split(' ')]

line.append(tuple(tmp))

line = list(set(line)) #去重

n = len(line)

judge = lambda pos1,pos2 : abs(pos1[0] - pos2[0]) + abs(pos1[1] - pos2[1]) < 1e-12 #判断两个点是否为同一个点

ans = 2

for i in range(1,n):

k1,b1 = line[i]

sec = []

for j in range(i):

k2,b2 = line[j]

if k2 == k1: continue

pos_x = (b2-b1)/(k1-k2); pos_y = k1*pos_x + b1 #计算交点的坐标

sec.append((pos_x,pos_y))

m = len(sec)

tmpans = m+1

#交点的数量小于等于1

if m < 2:

ans += tmpans

continue

#交点的数量大于等于2,需要去重处理

sec = sorted(sec,key=lambda x:x[0]) #对交点集合按x轴进行排列

for i in range(1,m):

if judge(sec[i-1],sec[i]):

tmpans -= 1 #有重复的,产生的区域数就减一

ans += tmpans

print(ans)