记录编号 246156 评测结果 AAAAAAAAAA
题目名称 [NOI 2000]单词查找树 最终得分 100
用户昵称 Gravatarasddddd 是否通过 通过
代码语言 C++ 运行时间 0.965 s
提交时间 2016-04-05 15:07:01 内存使用 0.31 MiB
显示代码纯文本
//
//  main.cpp
//  trie
//
//  Created by Qing Liu on 16/4/5.
//  Copyright © 2016年 Qing Liu. All rights reserved.
//

#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
#define sigma 27
#define maxnode 500000
using namespace std;
struct trie{
    int ch[maxnode][sigma],sv;
    trie(){
        sv=1;
        memset(ch, 0, sizeof(ch));
    }
    int idx(char a){
        return a-'A';
    }
    void _insert(const string &s){
        int n=s.size();
        int u=0;
        for(int i=0;i<n;i++){
            int c=idx(s[i]);
            if(!ch[u][c]){
                ch[u][c]=sv++;
            }
            u=ch[u][c];
        }
    }
};
int main() {
    freopen("trie.in", "r", stdin);
    freopen("trie.out", "w", stdout);
    trie * G=new trie();
    string s;
    int k=0;
    while(cin>>s){
        G->_insert(s);
        k++;
    }
    cout<<G->sv;
    return 0;
}