A 生不逢7
1 def check(num): 2 return '7' in str(num) or num%7==0 3 4 def solve(): 5 n,a,k = LII() 6 d = a+1 7 for i in range(k): 8 if check(d): 9 print('p',end = ' ') 10 else: 11 print(d,end = ' ') 12 d = d+n 13 print()
B 交换数字
n = II() a = I() b = I() a1 = '' b1 = '' for i in range(n): if a[i]<=b[i]: a1+=a[i] b1+=b[i] else: a1+=b[i] b1+=a[i] print(int(a1)*int(b1)%Mod)
C 老虎
计算图案相同的概率
三个都相同:在m个图案中挑选一个即可
两个相同:1-三个相同-都不同
都不同:m*(m-1)*(m-2)
最后除总共可以挑选的方案m**3
def solve(): m,a,b,c = LII() ans3 = (m-2)*(m-1)*m#都不同 ans2 = 3*(m-1)*m res = (c*m+b*ans2+a*ans3) print(res*pow(m**3,Mod-2,Mod)%Mod)
D 幻兽帕鲁
找规律,手写一遍替换过程,发现是对应位置的值是每个x的二进制位翻转后的值
n,m = LII() for i in range(m): x = II() z = 0 for j in range(n): if x>>j & 1:#如果该位是1 z |= 1<<(n-1-j)#z按位或对应位置1 print(z)
E 奏绝
看别的博主题解 | #E 奏绝#_牛客博客 (nowcoder.net)
举个例子s=010011000
s | 0 | 1 | 0 | 0 | 1 | 1 | 0 | ... |
idx
|
1 | 2 | 3 | 4 | 5 | 6 | 7 | ... |
s0 | 1 | 1 | 4 | 8 | 8 | 8 | 15 | |
s1 |
0 | 2 | 2 | 2 | 7 | 13 | 13 | |
cnt0 |
1 | 1 | 2 | 3 | 3 | 3 | 4 | |
cnt1 | 0 | 1 | 1 | 1 | 2 | 3 | 3 | |
ans | 0 | 1 | 2 | 6 |
ans=前一个ans+如果当前是0,算有多少个1从1-(i-1),*i到当前位置,再减去1自己的坐标总和
F 本初字符串
标签:13,python,LII,牛客,range,print,93,Mod From: https://www.cnblogs.com/cancanneed/p/18186629