标签:blog os io ar 代码 div amp log
字典树的应用题目,虽然照模板就能打出来,但是看着学长的代码,学会了sscanf的用法,sscanf(str,"%s%s",a,b)把str分成a和b两个字符串,分隔符为空格
#include<iostream> #include<cstdio> #include<cstring> #include<queue> #include<algorithm> using namespace std; int tp; char a[11],b[11]; struct Tire { int next[26];//儿子节点编号 char eng[11];//11? }tt[200000]; void insert(char*x,int site) { if(*x) { if(!tt[site].next[*x-‘a‘]) { tt[site].next[*x-‘a‘] = ++tp; cout<< tp<< endl; } insert(x+1,tt[site].next[*x-‘a‘]); } else { strcpy(tt[site].eng,a);//把不在字典树中的字符加进去 } } void search(char *x,int site){ if(*x) { if(!tt[site].next[*x-‘a‘]) { printf("eh\n"); return; } search(x+1,tt[site].next[*x-‘a‘]); } else { printf("%s\n",tt[site].eng); } } int main() { char str[100]; while(gets(str)&&str[0]) { sscanf(str,"%s%s",a,b); cout<< b<< endl; insert(b,0); } while(scanf("%s",b)!= EOF) { search(b,0); } return 0; }
标签:blog os io ar 代码 div amp log
原文地址:http://www.cnblogs.com/DUANZ/p/3890246.html