题解 | #单词查找树#
单词查找树
https://ac.nowcoder.com/acm/problem/16864
就是一个tire树的板子
#include<cstdio>
using namespace std;
const int N = 101010;
int son[N][52], cnt[N], idx;
int sum = 0;
char s[100];
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 main()
{
while (scanf("%s", s) != EOF)
{
insert(s);
}
cout << idx+1;
return 0;
}