提示:前几天差不多把简单的填空题刷了个基本,开始刷大题。练习算法
要求:
1.T1七段码:
import os
import sys
#思路:遍历每一种情况,在判断是否合理
dic={'a':'bf','b':'agc','c':'bgd','d':'ce','e':'fgd','g':'fbec','f':'age'}
edg=['a','b','c','d','e','f','g']
def dui(ls):
if sum(ls)==0:
return 0
if sum(ls)==1:
return 1
str1=''
for i in range(7):
if ls[i]:
str1+=edg[i]
for i in str1:
t=0
for j in dic[i]:
if j in str1:
t=1
if t!=1:
return 0
#print(str1)
return 1
ls=[0,0,0,0,0,0,0]
sum1=0
for a in range(2):
ls[0]=a
for b in range(2):
ls[1]=b
for c in range(2):
ls[2]=c
for d in range(2):
ls[3]=d
for e in range(2):
ls[4]=e
for f in range(2):
ls[5]=f
for g in range(2):
ls[6]=g
if dui(ls):
sum1+=1
print(sum1-3)
2.年号字串:
#将数字使用16进制表达
ls=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
n=2019
str1=''
while(n):
str1+=ls[n%26-1]
n=n//26
print(str1[::-1])
3.小明的彩灯:
使用差分法
import os
import sys
n,m=map(int,input().split())
ls=list(map(int,input().split()))
cha_ls=[0]
cha_ls[0]=ls[0]
for i in range(1,n):
cha_ls.append(ls[i]-ls[i-1])
for i in range(m):
l,r,x=map(int,input().split())
cha_ls[l-1]+=x
if r<n:
cha_ls[r]-=x
ls[0]=cha_ls[0]
for i in range(1,n):
ls[i]=ls[i-1]+cha_ls[i]
for i in ls:
if i<0:
print(0,end=" ")
else:
print(i,end=" ")
# 请在此输入您的代码
提示:这里统计学习计划的总量
例如: