Files
python/TangDou/AcWing/Trie/835_1.cpp

40 lines
775 B
C++
Raw Normal View History

2025-08-30 18:35:01 +08:00
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int tr[N][26], idx, cnt[N];
void insert(string str) {
int p = 0;
for (int i = 0; i < str.size(); i++) {
int u = str[i] - 'a';
if (!tr[p][u]) tr[p][u] = ++idx;
p = tr[p][u];
}
cnt[p]++;
}
int query(string str) {
int p = 0;
for (int i = 0; i < str.size(); i++) {
int u = str[i] - 'a';
if (!tr[p][u]) return 0;
p = tr[p][u];
}
return cnt[p];
}
int main() {
int n;
cin >> n;
while (n--) {
char op;
string str;
cin >> op >> str;
if (op == 'I')
insert(str);
else
printf("%d\n", query(str));
}
return 0;
}