比赛 noi2000练习1 评测结果 AAAAAAAAAA
题目名称 单词查找树 最终得分 100
用户昵称 Ceres 运行时间 0.021 s
代码语言 C++ 内存使用 9.38 MiB
提交时间 2018-01-22 20:40:06
显示代码纯文本
#include <cstdio>
#include <string>
#include <cstring>
using namespace std;
struct node
{
	int son[30];
	void init()
	{
		memset(son,0,sizeof(son));
	}
}trie[100000];
int ans=1;
char s[100];
int main()
{
	freopen("trie.in","r",stdin);
	freopen("trie.out","w",stdout);
	trie[0].init();
	while(scanf("%s",&s)!=EOF)
	{
		int a=0;
		for(int i=0;i<strlen(s);i++)
		{
			int b=s[i]-'A'+1;
			if(!trie[a].son[b])
			{
				trie[ans++].init();
				trie[a].son[b]=ans-1;
				a=ans-1;
			}
			else
				a=trie[a].son[b];
		}
	}
	printf("%d\n",ans);
	return 0;
}