題解 AcWing 1547 約會

2021-10-19 08:35:42 字數 2033 閱讀 4096

原題傳送: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...