原題傳送:acwing 1547. 約會
大偵探福爾摩斯接到一張奇怪的字條:
我們約會吧!3485djdkxh4hhge 2984akdfkkkkggedsb s&hgsfdk d&hyscvnm
。
大偵探很快就明白了,字條上奇怪的亂碼實際上就是約會的時間星期四14:04
,因為前面兩字串中第 1
11 對相同的大寫英文本母(大小寫有區分)是第4
44個字母d,代表星期四;第 2
22 對相同的字元是 e
ee,那是第 5
55 個英文本母,代表一天裡的第 14
1414
個鐘頭(於是一天的 0
00 點到 23
2323
點由數字 0
00 到 9
99、以及大寫字母 a
aa 到 n
nn 表示);後面兩字串第 1
11 對相同的英文本母 s
ss 出現在第 4
44 個位置(從 0
00 開始計數)上,代表第 4
44 分鐘。
現給定兩對字串,請幫助福爾摩斯解碼得到約會的時間。
補充1、一對字元相同,是指在兩個字元相同且在字串的位置也相同。
2、前兩個字串中第一對相同的大寫英文本母,是指第一對能夠正確代表日期的大寫英文本母。
3、前兩個字串中第二對相同的字元,是指位於代表日期的字元後面的,第一對相同的,能夠正確代表小時的字元。
輸入格式
輸入在4
44行中分別給出4
44個非空、不包含空格、且長度不超過60
6060
的字串。
輸出格式
在一行中輸出約會的時間,格式為dayhh:mm
,其中day
是某星期的 3
33 字元縮寫,即mon
表示星期一,tue
表示星期二,wed
表示星期三,thu
表示星期四,fri
表示星期五,sat
表示星期六,sun
表示星期日。
題目輸入保證每個測試存在唯一解。
輸入樣例:
3485djdkxh4hhge
2984akdfkkkkggedsb
s&hgsfdk
d&hyscvnm
輸出樣例:thu 14:04
先比較前兩個字串,得出日期和小時,再比較後兩個字串得出分鐘,注意題目中給出的每個對應字元的範圍。
#include
using
namespace std;
int flag =0;
string s1, s2, t1, t2;
string week_dict[7]
=;bool
isday
(char c)
bool
isvalid
(char c)
intmain()
else
if(flag &&
isdigit
(s1[i])&&
isdigit
(s2[i]
)&& s1[i]
== s2[i]
)else
if(flag &&
isvalid
(s1[i])&&
isvalid
(s2[i]
)&& s1[i]
== s2[i])}
for(
int i =
0; i <
min(t1.
length()
, t2.
length()
); i++)}
return0;
}
學軍OJ題解 1179 約會
學軍oj,題號1179,鏈結 也可以到 小藍準備去和小紅約會,小藍和小紅居住在乙個平面直角座標系中,小藍的家在 0,0 位置,小紅的家在 a,b 位置,小藍每一步可以往上下左右中的任意乙個方向移動乙個單位,換句話說,他可以從 x,y 走 到 x 1,y x 1,y x,y 1 x,y 1 中的乙個位...
ACwing 天才ACM 題解
題面入口 題目大意,將乙個數列劃分成最少的幾段,滿足每段內的資料集合中,取m對最大最小數出來,將其取出來的每對數求差值並平方,並求這m對的差值平方的求和值s,這個值不能超過指定的t。題目分析 從劃分後的集合中選出m對數,讓每對數的差的平方的和最大值為乙個貪心模型,我們只需要將集合中的元素按從小到大排...
題解 AcWing 1519 密碼
原題傳送 acwing 1519.密碼 為了準備pat,系統不得不為使用者生成隨機密碼。但是有時一些數字和字母之間總是難以區分,比如1 數字一 和l l ll 的小寫 0 數字零 和o o oo 的大寫 一種解決辦法是將1 數字一 替換為 將0 數字零 替換為 將l l ll 的小寫 替換為l,將o...