why Runtime Error
查看原帖
why Runtime Error
681941
OIer_Hhy楼主2024/9/1 11:28
#include<bits/stdc++.h>
using namespace std;
const int N=3e6+10;
char tr[N][128];
int cnt[N],idx,n,q;
string s;
void insert(string s){
	int len=s.size(),p=0;
	for(int i=0;i<len;i++){
		int j=s[i];
		if(!tr[p][j]) tr[p][j]=++idx;
		p=tr[p][j];
		cnt[p]++;
	}
}
int query(string s){
	int len=s.size(),p=0;
	for(int i=0;i<len;i++){
		int j=s[i];
		if(!tr[p][j]) return 0;
		p=tr[p][j];
	}
	return cnt[p];
}
void solve(){
	for(int i=0;i<=idx;i++){
		for(int j=0;j<128;j++) tr[i][j]=0;
	}
	for(int i=0;i<=idx;i++) cnt[i]=0;
	idx=0;
	cin>>n>>q;
	while(n--){
		cin>>s;
		insert(s);
	}
	while(q--){
		cin>>s;
		cout<<query(s)<<'\n';
	}
}
int main(){
	int t;
	cin>>t;
	while(t--) solve();
	return 0;
}

2024/9/1 11:28
加载中...