import sys # for line in sys.stdin: # a = line.split() # print(int(a[0]) + int(a[1])) """ 解题思路: 时间格式: X1X2 :X3X4 X1 的范围为 0<=X1<=2 0<=X2<=3 0<=X3<=5 0<=X4<=9 定义一个方法求t1,t2 的最大值最小值 t1 最大值为mx1 最小值为mi1 t2 最大值为mx2 最小值为mi2 t2 >t1 相距自最小 mi2-mx1 相距最大 mx2-mi1 测试用例1: 00:00 00:0? 预期结果: 1 9 测试用例2: ??:?? ??:?? 预期结果: 1 1439 解题思路参考: https://blog.nowcoder.net/n/545a3e14eb76419abbad4893be541dab """ def fun(s:str): # 求最大值最小值 mx="" mi="" for i in range(len(s)): if s[i]=='?': if i==0: mx+="2" mi+="0" elif i==1: mx+="3" mi+="0" elif i==2: mx+="5" mi+="0" elif i==4: mx+="9" mi+="0" else: mx+=s[i] mi+=s[i] #转为分钟 mxs=mx.split(":") mis=mi.split(":") print(mxs,mis) mx_int=int(mxs[0])*60+int(mxs[1]) mi_int=int(mis[0])*60+int(mis[1]) return mx_int,mi_int def sovler(): s1=input() s2=input() mx1,mi1=fun(s1) mx2,mi2=fun(s2) if mx1==mi2: mi2+=1 ret_mi =mi2-mx1 ret_mx =mx2-mi1 print(str(ret_mi)+" "+str(ret_mx)) #sovler() def sovler2(): s1=input() s2=input() #创建两个空列表存储可能时间 list1=[] list2=[] for i in range(0,60*24): # 小时 hour=i//60 # 分钟 minute=i%60 if s1[0]=='?' or int(s1[0])==hour//10: if s1[1]=='?' or int(s1[1])==hour%10:# 注意s1[2]==':' if s1[3]=='?' or int(s1[3])==minute//10: if s1[4]=='?' or int(s1[4])==minute%10: list1.append(i) if s2[0]=='?' or int(s2[0])==hour//10: if s2[1]=='?' or int(s2[1])==hour%10: # 注意s2[2]==':' if s2[3]=='?' or int(s2[3])==minute//10: if s2[4]=='?' or int(s2[4])==minute%10: list2.append(i) # 计算最值 #初始化 mi=24*60 mx=0 for i in range(len(list1)): for j in range(len(list2)): if list1[i]<list2[j]: mi=min(mi,list2[j]-list1[i]) mx =max(mx ,list2[j]-list1[i]) print(mi,mx) sovler2()