1014 福尔摩斯的约会 (20 分)
大侦探福尔摩斯接到一张奇怪的字条:
我们约会吧!
3485djDkxh4hhGE
2984akDfkkkkggEdsb
s&hgsfdk
d&Hyscvnm
大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;第 2 对相同的字符是 E ,那是第 5 个英文字母,代表一天里的第 14 个钟头(于是一天的 0 点到 23 点由数字 0 到 9、以及大写字母 A 到 N 表示);后面两字符串第 1 对相同的英文字母 s 出现在第 4 个位置(从 0 开始计数)上,代表第 4 分钟。现给定两对字符串,请帮助福尔摩斯解码得到约会的时间。
输入格式:
输入在 4 行中分别给出 4 个非空、不包含空格、且长度不超过 60 的字符串。
输出格式:
在一行中输出约会的时间,格式为 DAY HH:MM,其中 DAY 是某星期的 3 字符缩写,即 MON 表示星期一,TUE 表示星期二,WED 表示星期三,THU 表示星期四,FRI 表示星期五,SAT 表示星期六,SUN 表示星期日。题目输入保证每个测试存在唯一解。
输入样例:
3485djDkxh4hhGE
2984akDfkkkkggEdsb
s&hgsfdk
d&Hyscvnm
输出样例:
THU 14:04
python代码:
week_dict = {'A':'MON','B':'TUE','C':'WED','D':'THU','E':'FRI','F':'SAT','G':'SUN'}
time_value = ['00','01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23']
time_key = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N']
time_dict = dict(zip(time_key,time_value))
m = []
for i in range(4):
m.append(input())
# print(m)
ans = []
week,time,sec= 0,0,0
pass_i = 0
for i in range(60):
if m[0][i] == m[1][i] and m[0][i] in week_dict.keys():
week = week_dict[m[0][i]]
pass_i = i
# print(week)
# print('m[0][i]',m[0][i])
# print('m[1][i]',m[1][i])
break
for i in range(pass_i+1,60):
if m[0][i] == m[1][i] and m[0][i] in time_dict.keys():
time = time_dict[m[0][i]]
# print(time)
# print('m[0][i]',m[0][i])
# print('m[1][i]',m[1][i])
break
for i in range(60):
if m[2][i] == m[3][i] and m[2][i].isalpha(): # isalpha()判断是字母
# print(m[2][i])
sec = '{:0>2d}'.format(i)
# print(sec)
break
print(week+' '+time+':'+sec)