描述
小明得到了一張寫有奇怪字串的紙,他想知道一些字串出現了多少次,但這些字串太多了,他想找你幫忙,你能幫他嗎?輸入字元包括所有小寫字母、『@』、『+』。
輸入第一行包含乙個整數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 #include3 #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行,每行包含乙個字串,表示...