給出一系列二元組:[原字串] 翻譯字串;
進行若干次查詢,給出原字串或翻譯字串,輸出對應的翻譯字串或原字串。
首先給出若干行,每行乙個二元組:[原字串] 翻譯字串;
最後一行以"@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 需要識別這個題目給出的是 魔咒 還是對應功能,並寫出轉換的結果,如果在魔咒詞典裡找不到,輸出 ...