字典树模板题 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 }

 

你可能感兴趣的:(poj)