- 本篇题解涵盖范围为1 - 8 题,最后两题本人没能解出来
- 使用语言为Python
- 过样例 不确定能否AC
- 仅供参考 若有错误 欢迎指出
- 最后两题若有佬会 可以评论给出你的思路 感激不尽 🙏
# 直接调用转二进制函数即可
# 具体用法请查官方文档s = 2022
ans = bin(s)
print(len(ans[2:]))
调用datetime函数,枚举每一天并判断是否符合要求
import datetimestart = datetime.date(2022,1,1)
ans = 0
diff = datetime.timedelta(1)
end = datetime.date(2022,12,31)def check(date) :if datetime.date.weekday(date) == 5 or datetime.date.weekday(date) == 6 :return Truedate = str(date)if date[-2:] == '01' or date[-2:] == '11' or date[-2:] == '21' or date[-2:] == '31' :return Truereturn Falsewhile start <= end :if check(start) : ans += 1start += diffprint(ans)
简单模拟,大于12时输出答案
idx = 1
target = 12
tot = 0
ans = 0while tot < target :tot += 1 / idx ans += 1 idx += 1print(ans)
遍历每个点,判断是否为山谷即可
s = "PHQGHUMEAYLNLFDXFIRCVSCXGGBWKFNQDUXWFNFOZVSRTKJPREPGGXRPNRVY\
STMWCYSYYCQPEVIKEFFMZNIMKKASVWSRENZKYCXFXTLSGYPSFADPOOEFXZBC\
OEJUVPVABOYGPOEYLFPBNPLJVRVIPYAMYEHWQNQRQPMXUJJLOOVAOWUXWHMS\
NCBXCOKSFZKVATXDKNLYJYHFIXJSWNKKUFNUXXZRZBMNMGQOOKETLYHNKOAU\
GZQRCDDIUTEIOJWAYYZPVSCMPSAJLFVGUBFAAOVLZYLNTRKDCPWSRTESJWHD\
IZCOBZCNFWLQIJTVDWVXHRCBLDVGYLWGBUSBMBORXTLHCSMPXOHGMGNKEUFD\
XOTOGBGXPEYANFETCUKEPZSHKLJUGGGEKJDQZJENPEVQGXIEPJSRDZJAZUJL\
LCHHBFQMKIMWZOBIWYBXDUUNFSKSRSRTEKMQDCYZJEEUHMSRQCOZIJIPFION\
EEDDPSZRNAVYMMTATBDZQSOEMUVNPPPSUACBAZUXMHECTHLEGRPUNKDMBPPW\
EQTGJOPARMOWZDQYOXYTJBBHAWDYDCPRJBXPHOOHPKWQYUHRQZHNBNFUVQNQ\
QLRZJPXIOGVLIEXDZUZOSRKRUSVOJBRZMWZPOWKJILEFRAAMDIGPNPUUHGXP\
QNJWJMWAXXMNSNHHLQQRZUDLTFZOTCJTNZXUGLSDSMZCNOCKVFAJFRMXOTHO\
WKBJZWUCWLJFRIMPMYHCHZRIWKBARXBGFCBCEYHJUGIXWTBVTREHBBCPXIFB\
XVFBCGKCFQCKCOTZGKUBMJRMBSZTSSHFROEFWSJRXJHGUZYUPZWWEIQURPIX\
IQFLDUUVEOOWQCUDHNEFNJHAIMUCZFSKUIDUBURISWTBRECUYKABFCVKDZEZ\
TOIDUKUHJZEFCZZZBFKQDPQZIKFOBUCDHTHXDJGKJELRLPAXAMCEROSWITDP\
TPCCLIFKELJYTIHRCQAYBNEFXNXVGZEDYYHNGYCDRUDMPHMECKOTRWOSPOFG\
HFOZQVLQFXWWKMFXDYYGMDCASZSGOVSODKJGHCWMBMXRMHUYFYQGAJQKCKLZ\
NAYXQKQOYZWMYUBZAZCPKHKTKYDZIVCUYPURFMBISGEKYRGZVXDHPOAMVAFY\
RARXSVKHTQDIHERSIGBHZJZUJXMMYSPNARAEWKEGJCCVHHRJVBJTSQDJOOTG\
PKNFPFYCGFIEOWQRWWWPZSQMETOGEPSPXNVJIUPALYYNMKMNUVKLHSECDWRA\
CGFMZKGIPDFODKJMJQWIQPUOQHIMVFVUZWYVIJGFULLKJDUHSJAFBTLKMFQR\
MYJFJNHHSSQCTYDTEAMDCJBPRHTNEGYIWXGCJWLGRSMEAEARWTVJSJBAOIOJ\
LWHYPNVRUIHOSWKIFYGTYDHACWYHSGEWZMTGONZLTJHGAUHNIHREQGJFWKJS\
MTPJHAEFQZAAULDRCHJCCDYRFVVRIVUYEEGFIVDRCYGURQDREDAKUBNFGUPR\
OQYLOBCWQXKZMAUSJGMHCMHGDNMPHNQKAMHURKTRFFACLVGRZKKLDACLLTEO\
JOMONXRQYJZGINRNNZWACXXAEDRWUDXZRFUSEWJTBOXVYNFHKSTCENAUMNDD\
XFDMVZCAUTDCCKXAAYDZSXTTOBBGQNGVVPJGOJOGLMKXGBFCPYPCKQCHBDDZ\
WRXBZMQRLXVOBTWHXGINFGFRCCLMZNMJUGWWBSQFCIHUBSJOLLMSQSGHMCPH\
ELSOTFLBGSFNPCUZSRUPCHYNVZHCPQUGRIWNIQXDFJPWPXFBLKPNPEELFJMT"Map = [[0] * 60 for i in range(30)]for i in range(30) :for j in range(60) :Map[i][j] = s[i*30+j]def check(x,y) :for i,j in [(1,0),(0,1),(0,-1),(-1,0)] :px = x + i ; py = y + jif ord(Map[x][y]) >= ord(Map[px][py]) : return Falsereturn True
# for i in range(3) :
# for j in range(5) :
# print(Map[i][j],end=' ')
# print()
ans = 0 for i in range(30) :for j in range(60) :if i == 0 or j == 0 or i == 29 or j == 59 : continueif check(i,j) : ans += 1print(ans)
二位前缀和,枚举起点和终点的横坐标和列坐标即可
Map = [[0] * 101 for i in range(101)]Map[1][1] = 1
for i in range(1,101) :for j in range(1,101) :if i == 1 and j == 1 : continueif j == 1 : Map[i][j] = Map[i-1][j] + 1 else : Map[i][j] = Map[i][j-1] + 2 for i in range(1,101) :for j in range(1,101) :Map[i][j] += Map[i-1][j] + Map[i][j-1] - Map[i-1][j-1] print(Map[3][3])ans = float('inf')for i in range(1,101) :for j in range(i,101) :for k in range(1,101) :for t in range(k,101) :if Map[j][t] - Map[j][k-1] - Map[i-1][t] + Map[i-1][k-1] == 2022 :ans = min(ans,(j-i+1)*(t-k+1))print(ans)
模拟 , 签到题
s = int(input())
t = int(input())ans = 0
if t > s : print(t - s)
else : print(t + 7 - s)
直接调用replace函数
s = input()
s = s.replace('a', 'A')
s = s.replace('e', 'E')
s = s.replace('i', 'I')
s = s.replace('o', 'O')
s = s.replace('u', 'U')print(s)
按照输入的顺序,当前的时间-上一个时间✖️电流✖️电压,计算总和
n = int(input())
ans = 0for i in range(n) :s,U,I = input().split()H,M,S = s.split(':')if i == 0 :oldU = int(U) ; oldI = int(I)oldH = int(H) ; oldM = int(M) ; oldS = int(S)else :ans += ((int(H) - oldH) * 3600 + (int(M) - oldM) * 60 + (int(S) - oldS)) * oldU * oldIoldU = int(U) ; oldI = int(I)oldH = int(H) ; oldM = int(M) ; oldS = int(S)print(ans)
# 没有思路
# 没有思路