查找字符串
时间限制:
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).表示测试数据组数。