Week15 作業A ZJM 與霍格沃茲

2021-10-06 14:58:15 字數 1838 閱讀 5830

給出一系列二元組:[原字串] 翻譯字串;

進行若干次查詢,給出原字串或翻譯字串,輸出對應的翻譯字串或原字串。

首先給出若干行,每行乙個二元組:[原字串] 翻譯字串;

最後一行以"@end@"結尾;

之後一行給出乙個整數q,表示詢問次數;

之後q行,每行乙個[原字串]或翻譯字串;

輸出q行,每行輸出對應字串。

[

expelliarmus

] the

disarming

charm

[rictusempra

] send

ajet

ofsilver

light

tohit

theenemy

[tarantallegra

] control

themovement

ofone's

legs

[serpensortia

] shoot

asnake

outof

theend

ofone's

wand

[lumos

] light

thewand

[obliviate

] the

memory

charm

[expecto patronum

] send

apatronus

tothe

dementors

[accio

] the

summoning

charm

@end@4

[lumos

]the

summoning

charm

[arha

]take

meto

thesky

light

thewand

accio

what?

what?

該題直接利用map建立字串到字串的對映會導致mle,因此,應當使用hash函式建立字串到整數的對映,將所有的字串存入乙個陣列,再利用map建立hash(字串)到對應字串的陣列索引的對映。

hash函式的實現如下:

long

long

_hash

(string &st)

return v;

}

#include

#define seed 131

#define mod 1000000007

#include

#include

#include

using

namespace std;

vector s;

int idx;

map<

long

long

,int

> mp;

long

long

_hash

(string &st)

return v;

}int main ())

; s.

push_back

(k);mp.

insert()

;}int n;

cin>>n;

getchar()

; string q;

string res;

for(

int i=

0;ireturn0;

}

Week 15 作業A ZJM 與霍格沃茲

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

A ZJM 與霍格沃茲 (Week15 作業)

這個題對mermory要求比較高,map會導致memory limit exceeded。因此我們需要用雜湊演算法求出每乙個字串對應的雜湊值,利用雜湊值來儲存 查詢 另外,要注意資料的範圍,我直接用了unsigned long long,也可以加上乙個mod ps 本題用g 會memory limi...

Week15 A ZJM與霍格沃茲

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