查找字符串
时间限制:
1000 ms | 内存限制:
65535 KB
难度:3
-
描述
-
小明得到了一张写有奇怪字符串的纸,他想知道一些字符串出现了多少次,但这些字符串太多了,他想找你帮忙,你能帮他吗?输入字符包括所有小写字母、‘@’、‘+’。
-
输入
-
第一行包含一个整数T(T<=100).表示测试数据组数。
接下来每组数据第一行包含两个整数n,m(n,m<100000),分别表示有n个字符串,小明要问你m次。
接下来n行,每行包含一个字符串,长度不大于15。
接下来m行,每行包含一个字符串,表示小明要问该串出现的次数。
输出
- 输出每组小明询问数串出现的次数。 样例输入
-
1
-
5 3
-
hello
-
it@is+so@easy
-
hello
-
ibelieveicanac
-
hello
-
hello
-
icannotacit
-
Giveup
样例输出
-
3
-
0
-
0
-
#include<stdio.h> #include<iostream> #include<map> #include<string> using namespace std; int main() { int n; int str_num; int ques_num; char str[16]; map<string, int> mp; scanf("%d%*c",&n); while(n--) { scanf("%d%d%*c", &str_num, &ques_num); while(str_num--) { gets(str); mp[str]++; } while(ques_num--) { gets(str); printf("%d\n", mp[str]); } mp.clear(); } return 0; }
-
第一行包含一个整数T(T<=100).表示测试数据组数。