记录编号 416582 评测结果 AAAAAAAAAA
题目名称 词链 最终得分 100
用户昵称 Gravatar天亮说晚安· 是否通过 通过
代码语言 C++ 运行时间 0.015 s
提交时间 2017-06-22 10:35:45 内存使用 118.58 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;

int n,cnt,ans;
char a[10005];
struct trie{
    bool judge;
    trie *ch[30];       
}node[1000010],*root;
trie* nn(){
    cnt++;
    return &node[cnt]; 
}

void add(){
    int len=strlen(a),sum=0;
    trie *u=root;     
    for(int i=0;i<len;++i){
       int q=a[i]-'a'; 
       if(u->judge)  sum++;
       if(u->ch[q]==NULL)
          u->ch[q]=nn();
       u=u->ch[q];
    }
    ans=max(ans,sum+1);
    u->judge=1;
}


int main(){
freopen("link.in","r",stdin);
freopen("link.out","w",stdout);
    scanf("%d",&n);
    root=nn();
    for(int i=1;i<=n;i++){
       scanf("%s",&a);
       add();
    }
    printf("%d",ans);
}