作者:
_如鲸向海
,
2022-06-15 19:53:25
,
所有人可见
,
阅读 5
#include <iostream>
using namespace std;
const int N=100010;
int son[N][26];
int cnt[N];
char str[N];
int idx;
void insert(string str){
int p =0;
for(int i=0;str[i];i++){
int t=str[i]-'a';
if(!son[p][t]) son[p][t]=++idx;
p = son[p][t];
}
cnt[p]++;
}
int query(string str){
int p =0;
for(int i=0;str[i];i++){
int t=str[i]-'a';
if(!son[p][t]) return 0;
p = son[p][t];
}
return cnt[p];
}
int main(){
int n;
cin>>n;
while(n--){
char op[2];
scanf("%s%s",op,str);
if(op[0]=='I') insert(str);
else if(op[0]=='Q'){
cout<<query(str)<<endl;
}
}
}