NYoj 685 查詢字串

2022-06-02 11:21:08 字數 1163 閱讀 8364

描述

小明得到了一張寫有奇怪字串的紙,他想知道一些字串出現了多少次,但這些字串太多了,他想找你幫忙,你能幫他嗎?輸入字元包括所有小寫字母、『@』、『+』。

輸入第一行包含乙個整數t(t<=100).表示測試資料組數。

接下來每組資料第一行包含兩個整數n,m(n,m<100000),分別表示有n個字串,小明要問你m次。

接下來n行,每行包含乙個字串,長度不大於15。

接下來m行,每行包含乙個字串,表示小明要問該串出現的次數。

輸出輸出每組小明詢問數串出現的次數。

樣例輸入

1

5 3hello

it@is+so@easy

hello

ibelieveicanac

hello

hello

icannotacit

giveup

樣例輸出

300

題解:水題,就是多判斷了「+」,「@」的情況,修改一下模板即可。

**:

1 #include 2 #include 

3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10

using

namespace

std;

1112

13struct

node

1421

};22 node *root;

23int k=0;24

void insert(char *a)

25

35//

已存在此字首

36 p=p->next[a[i]-'+'

];37 p->count++;38}

39}40int find(char *s)

4152

return p->count;53}

54void de(node *p)

5563

delete p;

6465}66

intmain()

6783

for(i=0;i)

89de(root);90}

91return0;

92 }

nyoj685 查詢字串 map

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 小明得到了一張寫有奇怪字串的紙,他想知道一些字串出現了多少次,但這些字串太多了,他想找你幫忙,你能幫他嗎?輸入字元包括所有小寫字母 輸入 第一行包含乙個整數t t 100 表示測試資料組數。接下來每組資料第一行包含兩個整數n,m...

nyoj685查詢字串(字典樹)

include 685查詢字串 struct trie trie root int turn char c 把字元轉換成陣列序號 void insert char s 插入乙個字串 p p next turn s s p count int tfind char s return p null?0 ...

NYOJ685 查詢字串(字典樹題

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 輸入第一行包含乙個整數t t 100 表示測試資料組數。接下來每組資料第一行包含兩個整數n,m n,m 100000 分別表示有n個字串,小明要問你m次。接下來n行,每行包含乙個字串,長度不大於15。接下來m行,每行包含乙個字串,表示...