wa1-5求调
查看原帖
wa1-5求调
1086963
aqua__楼主2024/2/18 22:47
#include<iostream>

using namespace std;

const int N = 100010,M = 3000030;

int son[M][52],cnt[M],idx;
char a[N];
int n,q;

void insert(char *str){
	int p = 0;
	for(int i = 0;str[i];i ++ ){
		int u = str[i] - 'A';
		if(!son[p][u]){
			son[p][u] = ++ idx;
		}
		p = son[p][u];
		cnt[p] ++;
	}
	
}

int query(char *str){
	int p = 0;
	for(int i = 0;str[i];i ++ ){
		int u = str[i] - 'A';
		if(!son[p][u]){
			return 0;
		}
		p = son[p][u];
	}
	return cnt[p];
}

int main(){
	int T;
	cin >> T;
	while(T -- ){
		cin >> n >> q;
		for(int i = 0;i < n;i ++ ){
			cin >> a;
			insert(a);
		}
		for(int i = 0;i < q;i ++ ){
			cin >> a;
			cout << query(a) << endl;
		}
	} 	
	return 0;
} 
2024/2/18 22:47
加载中...