标签:print [] scanf strlen 字母 trie 英语四级 不能 尽心
1 #include <cstring> 2 #include <cstdio> 3 4 int n,m,x,cnt; 5 char s[100]; 6 7 struct node{ 8 int val,son[26]; 9 }trie[1000001]; 10 11 void insert(char s[],int k){ 12 int len=strlen(s),x=0; 13 for(int i=0;i<len;++i){ 14 int v=s[i]-‘a‘; 15 if(!trie[x].son[v]) 16 trie[x].son[v]=++cnt; 17 x=trie[x].son[v]; 18 } 19 trie[x].val=k; 20 } 21 22 int query(char s[]){ 23 int len=strlen(s),x=0; 24 for(int i=0;i<len;++i){ 25 int v=s[i]-‘a‘; 26 x=trie[x].son[v]; 27 } 28 return trie[x].val; 29 } 30 31 int main(void){ 32 scanf("%d",&n); 33 for(int i=1;i<=n;++i){ 34 scanf("%s%d",&s,&x); 35 insert(s,x); 36 } 37 scanf("%d",&m); 38 for(int i=1;i<=m;++i){ 39 scanf("%s",&s); 40 printf("%d\n",query(s)); 41 } 42 }
标签:print [] scanf strlen 字母 trie 英语四级 不能 尽心
原文地址:https://www.cnblogs.com/gzh01/p/9382149.html