为什么本地编译过了,但是提交显示CE了?
#include<bits/stdc++.h>
using namespace std;
int t;
int n,q;
int cnt[3000005];
int trie[3000005][80],tot,end[3000005];
int get(char x){
if(x>='A'&&x<='Z')return x-'A';
else if(x>='a'&&x<='z')return x-'a'+26;
else return x-'0'+52;
}
void Insert(string s){
int len=s.size(),p=1;
for(int i=0;i<len;i++){
int ch=get(s[i]);
if(trie[p][ch]==0) trie[p][ch]=++tot;
p=trie[p][ch];
cnt[p]++;
}
end[p]=1;
}
int find(string s){
int len=s.size(),p=1;
for(int i=0;i<len;i++){
p=trie[p][get(s[i])];
if(p==0) return 0;
}
return cnt[p];
}
string s;
int main(){
cin>>t;
while(t--){
memset(trie,0,sizeof trie);
memset(end,0,sizeof end);
memset(cnt,0,sizeof cnt);
cin>>n>>q;
for(int i=1;i<=n;i++){
cin>>s;
Insert(s);
}
while(q--){
string s1;
cin>>s1;
cout<<find(s1)<<"\n";
}
}
return 0;
}