【poj2001】Shortest Prefixes

来源:互联网 发布:java调取webservice 编辑:程序博客网 时间:2024/06/05 05:31
#include<iostream>#include<cstdio>using namespace std;char a[1001][21];int tot,size,sz,t[300001][26],s[300001];void insert(char ch[]){int k,len=strlen(ch+1),now=0;for(int p=1;p<=len;p++){k=ch[p]-'a';if(!t[now][k])t[now][k]=++sz;now=t[now][k];s[now]++;}}void ask(char ch[]){int k,len=strlen(ch+1),now=0;for(int p=1;p<=len;p++){if(s[now]==1)break;k=ch[p]-'a';printf("%c",ch[p]);now=t[now][k];}}int main(){while(scanf("%s",a[++tot]+1)!=EOF)insert(a[tot]);for(int i=1;i<=tot;i++){printf("%s ",a[i]+1);ask(a[i]);printf("\n");}return 0;}

0 0