首页 > 代码库 > 字典树模板题 POJ 2503

字典树模板题 POJ 2503

 1 #include <cstdio> 2 #include <cstring> 3  4 char en[11],fr[11]; 5 int st; 6 struct Tire{ 7     int next[26]; 8     char eng[11]; 9 }node[200005];10 void insert(char *s,int cur)11 {12     if(*s){13         if(!node[cur].next[*s-a])14             node[cur].next[*s-a]=++st;15         insert(s+1,node[cur].next[*s-a]);16     }17     else strcpy(node[cur].eng,en);18 }19 void search(char *s,int cur)20 {21     if(*s){22         if(!node[cur].next[*s-a]){23             printf("%s\n","eh");24             return;25         }26         search(s+1,node[cur].next[*s-a]);27     }28     else printf("%s\n",node[cur].eng);29 }30 int main()31 {32     char str[100];33     while(gets(str)&&str[0]){34         sscanf(str,"%s%s",en,fr);35         insert(fr,0);36     }37     while(scanf("%s",fr) != EOF){38         search(fr,0);39     }40     return 0;41 }