大偵探福爾摩斯接到一張奇怪的字條:「我們約會吧! 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
水題,但是要注意一些細節,星期幾必須是大寫的英文本元a-g,而小時數可以是數字0-9和字元a-n,最後的分鐘數必須是相同的英文本元:
s1=
input()
s2=input()
s3=input()
s4=input()
k=0for i in
range(0
,min
(len
(s1)
,len
(s2)))
:if s1[i]
==s2[i]
and k==
0and s1[i]
>=
'a'and s1[i]
<=
'g':
k+=1 day=
ord(s1[i])-
ord(
'a')+1
elif s1[i]
==s2[i]
and k==1:
if s1[i]
>=
'0'and s1[i]
<=
'9':
hour=s1[i]
break
elif s1[i]
>=
'a'and s2[i]
<=
'n':
hour=
ord(s1[i])-
ord(
'a')+10
break
else
:continue
for i in
range(0
,min
(len
(s3)
,len
(s4)))
:if s3[i]
==s4[i]:if
(s3[i]
>=
'a'and s3[i]
<=
'z')
or(s3[i]
>=
'a'and s3[i]
<=
'z')
: minute=i
break
else
:continue
if day==1:
print
('mon'
,end='')
elif day==2:
print
('tue'
,end='')
elif day==3:
print
('wed'
,end='')
elif day==4:
print
('thu'
,end='')
elif day==5:
print
('fri'
,end='')
elif day==6:
print
('sat'
,end='')
elif day==7:
print
('sun'
,end='')
print
(' '
,str
(hour)
.zfill(2)
,':'
,str
(minute)
.zfill(2)
,sep=
'')
PAT 1014 福爾摩斯的約會
大偵探福爾摩斯接到一張奇怪的字條 我們約會吧!3485djdkxh4hhge 2984akdfkkkkggedsb s hgsfdk d hyscvnm 大偵探很快就明白了,字條上奇怪的亂碼實際上就是約會的時間 星期四 14 04 因為前面兩字串中第1對相同的大寫英文本母 大小寫有區分 是第4個字母...
PAT 1014 福爾摩斯的約會
char week table 7 3 就行了 定義成二維陣列儲存時可以簡單看作一排乙個字串陣列 const char week table 7 這樣是定義了乙個指標陣列 指標元素分別指向每乙個對應的字串儲存的首位址 include include int main void char str1 6...
PAT 1014 福爾摩斯的約會
時間限制 100 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 大偵探福爾摩斯接到一張奇怪的字條 我們約會吧!3485djdkxh4hhge 2984akdfkkkkggedsb s hgsfdk d hyscvnm 大偵探很快就明白...