week15作業(只有比做)

2021-10-07 00:01:25 字數 1885 閱讀 4311

問題描述:

zjm 為了準備霍格沃茲的期末考試,決心背魔咒詞典,一舉拿下咒語翻譯題

題庫格式:[魔咒] 對應功能

背完題庫後,zjm 開始刷題,現共有 n 道題,每道題給出乙個字串,可能是 [魔咒],也可能是對應功能

zjm 需要識別這個題目給出的是 [魔咒] 還是對應功能,並寫出轉換的結果,如果在魔咒詞典裡找不到,輸出 "what?"

input

首先列出魔咒詞典中不超過100000條不同的咒語,每條格式為:

[魔咒] 對應功能

其中「魔咒」和「對應功能」分別為長度不超過20和80的字串,字串中保證不包含字元「[」和「]」,且「]」和後面的字串之間有且僅有乙個空格。魔咒詞典最後一行以「@end@」結束,這一行不屬於詞典中的詞條。

詞典之後的一行包含正整數n(<=1000),隨後是n個測試用例。每個測試用例佔一行,或者給出「[魔咒]」,或者給出「對應功能」。

output

每個測試用例的輸出佔一行,輸出魔咒對應的功能,或者功能對應的魔咒。如果在詞典中查不到,就輸出「what?」

sample input

[expelliarmus] the disarming charm

[rictusempra] send a jet of silver light to hit the enemy

[tarantallegra] control the movement of one's legs

[serpensortia] shoot a snake out of the end of one's wand

[lumos] light the wand

[obliviate] the memory charm

[expecto patronum] send a patronus to the dementors

[accio] the summoning charm

@end@

4[lumos]

the summoning charm

[arha]

take me to the sky

sample output

light the wand

accio

what?

what?

思路:

本題要用hash函式建立對映,然後將字串存入陣列中,再用map函式建立索引到字串的對映,

這道題還是要注意上課講到的點比如實時取模,seed必須要是質數等,以及最好用long long

#include

#include

#include

#include

#define seed 7

#define mod 1000000007

using

namespace std;

vector s;

int x;

map<

long

long

,int

> a;

long

long

hhash

(string& s1)

return d;

}int

main()

);a.

insert()

;}cin >> n;

getchar()

;for

(int i =

0; i < n; i++

)else

cout << a5 << endl;}}

return0;

}

Week15作業 C ZJM與紙條 KMP

zjm 的女朋友是乙個書法家,喜歡寫一些好看的英文書法。有一天 zjm 拿到了她寫的紙條,紙條上的字暗示了 zjm 的女朋友 想給 zjm 送生日禮物。zjm 想知道自己收到的禮物是不是就是她送的,於是想看看自己收到的禮物在紙條 現了多少次。第一行輸入乙個整數代表資料的組數 每組資料第一行乙個字串 ...

程式設計思維與實踐 Week15 作業

problem description 哈利波特在魔法學校的必修課之一就是學習魔咒。據說魔法世界有100000種不同的魔咒,哈利很難全部記住,但是為了對抗強敵,他必須在危急時刻能夠呼叫任何乙個需要的魔咒,所以他需要你的幫助。給你一部魔咒詞典。當哈利聽到乙個魔咒時,你的程式必須告訴他那個魔咒的功能 當...

程式設計思維與實踐 Week15 作業

zjm 為了準備霍格沃茲的期末考試,決心背魔咒詞典,一舉拿下咒語翻譯題 題庫格式 魔咒 對應功能 背完題庫後,zjm 開始刷題,現共有 n 道題,每道題給出乙個字串,可能是 魔咒 也可能是對應功能 zjm 需要識別這個題目給出的是 魔咒 還是對應功能,並寫出轉換的結果,如果在魔咒詞典裡找不到,輸出 ...