單詞匹配 hash

2022-06-27 03:33:12 字數 2013 閱讀 2575

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

給你一部魔咒詞典。當哈利聽到乙個魔咒時,你的程式必須告訴他那個魔咒的功能;當哈利需要某個功能但不知道該用什麼魔咒時,你的程式要替他找到相應的魔咒。如果他要的魔咒不在詞典中,就輸出「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?

題意 : 給你乙個咒語對應著乙個功能,要求有 q 此詢問,對於每次詢問給出相應的咒語後告訴你相應的功能

思路分析:這題用 map 可能會超記憶體,因此我們這裡用 hash 去做,對於 hash 後的值相同的情況下我們去連一條鏈,然後匹配的時候去在這條鏈上去匹配即可。

**示例:

using namespace std;

#define ll unsigned long long

const ll maxn = 1e6+5;

char s[200];

struct node

a[maxn], b[maxn];

ll p = 100007;

char que_[25], ans_[85];

int ha[maxn], hb[maxn];

ll cura=0, curb=0;

ll gethash(char *str)

return res%p;

}void insert()

bool searcha(char *str)

x = a[x].next;

}return false;

}bool searchb(char *str)

x = b[x].next;

}return false;

}int main()

que_[k++] = s[i];

}que_[k] = '\0';

k = 0;

for(ll i = pos+2; i <= len; i++)

ans_[k] = '\0';

insert();

}ll q;

cin >>q;

getchar();

while(q--)

else

}return 0;

}

php 單詞匹配,php匹配相似單詞

標籤 大致思路如下 1 生成英文單詞庫,並將單詞放置redis裡 當然放資料庫也可以 2 得到使用者單詞,生成與之相類似的單詞 首先我們看第一步,我的做法是,從網上找乙個很大的文字,big.txt。這個文字包含了幾萬個單詞,然後利用正則,將裡面的單詞,拿出來並存到redis庫裡面。但問題是,我們在使...

演算法 Hash 單詞規律

給定一種規律 pattern 和乙個字串 str 判斷 str 是否遵循相同的規律。這裡的 遵循 指完全匹配,例如,pattern 裡的每個字母和字串 str 中的每個非空單詞之間存在著雙向連線的對應規律。示例1 輸入 pattern abba str dog cat cat dog 輸出 true...

單詞匹配演算法

題目 有乙個江洋大盜,他每次寫信都是從一張報紙上剪下單詞,再把單詞貼在信上。假如某張報紙的單詞儲存在vector 中,而信的單詞儲存在vectorletter 中,寫乙個演算法程式判別該報紙可不可以生成該信?對比一些方法 這裡假設 m個單詞,每個單詞平均d個字母 letter n個單詞,每個單詞平均...