2026牛客寒假算法基础集训营1 Python解
寒假集训营第一场 (更新中
Edit Log
2026.02.04(首次编辑
前言
本帖为py玩家提供题解,顺便记录一下自己的刷题。一起进步呀~ (本蒟蒻在第一场训练赛只做出4道……今天听雨巨姐姐讲解发现全是血签 orz 好挫败
L:Need Zero
n=int(input())%10
for i in range(1,11):
if (i*n)%10==0:
print(i)
break
K: Constructive
def sol(n):
if n==1:
print("YES")
print("1")
elif n==3:
print("YES")
print("1 2 3")
else:
print("NO")
t=int(input())
for _ in range(t):
n=int(input())
sol(n)
C: Array Covering
t = int(input())
for _ in range(t):
n = int(input())
a = list(map(int, input().split()))
sum = max(a)*(len(a)-2)+a[0]+a[len(a)-1]
print(sum)
E: Block Game
t=int(input())
for _ in range(t):
n,k=map(int,input().split())
l=list(map(int,input().split()))
l.append(k)
b=[]
for i in range(n):
b.append(l[i]+l[i+1])
b.append(k+l[0])
print(max(b))
A: A+B Problem
看着很ex的一道题,但是上手之后才发现……是真的很ex
import sys
res=828542813
mod=998244353
n=[
'01110111','00010010','01011101','01011011','00111010',
'01101011','01101111','01010010','01111111','01111011'
]
data=list(map(int,sys.stdin.read().split()))
ptr=0
t=data[ptr]
ptr+=1
for _ in range(t):
c=data[ptr]
ptr+=1
p=data[ptr:ptr+7]
ptr+=7
p.insert(0,0)
for i in range(1,len(p)):
p[i]=(p[i]*res)%mod
P=[0]*10
for i in range(10):
r=1
tmp=n[i]
for j in range(1,8):
if tmp[j]=='1':
r=r*p[j]%mod
else:
r=r*(1-p[j]+mod)%mod
P[i]=r
rs=0
for a in range(c+1):
b=c-a
a1=a//1000; a2=a//100%10; a3=a//10%10; a4=a%10
b1=b//1000; b2=b//100%10; b3=b//10%10; b4=b%10
pa=P[a1]*P[a2]%mod*P[a3]%mod*P[a4]%mod
pb=P[b1]*P[b2]%mod*P[b3]%mod*P[b4]%mod
rs=(rs+pa*pb)%mod
print(rs)
查看2道真题和解析