标签:print hdu1251 ext namespace 取字符串 gets 不用 www log
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 struct node{ 6 int cnt; //记录出现次数 7 int nex[30];//该节点下一个儿子的节点 8 }trie[400500]; 9 char s1[105],s2[105]; 10 int tot=1;//也可以0 11 void build(char* s){ 12 int len=strlen(s); 13 int root=0; 14 for(int i=0;i<len;++i){ 15 int id=s[i]-‘a‘; 16 if(trie[root].nex[id]==0) trie[root].nex[id]=++tot; 17 root=trie[root].nex[id]; 18 ++trie[root].cnt; 19 } 20 } 21 int query(char* s){ 22 int len=strlen(s); 23 int root=0; 24 for(int i=0;i<len;++i){ 25 int id=s[i]-‘a‘; 26 if(!trie[root].nex[id]) return 0; 27 root=trie[root].nex[id]; 28 } 29 return trie[root].cnt; 30 } 31 int main(){ 32 while(gets(s1)){ 33 int len=strlen(s1); 34 if(!len) break; 35 build(s1); 36 } 37 while(gets(s2)){ 38 int u=query(s2); 39 printf("%d\n",u); 40 } 41 return 0; 42 } 43 //hdu1251 44 //https://vjudge.net/contest/281068#problem/C 45 //用gets不用scanf是因为读取字符串时,gets会舍弃回车,但scanf不会。 46 //https://www.cnblogs.com/hlongch/p/5742477.html
标签:print hdu1251 ext namespace 取字符串 gets 不用 www log
原文地址:https://www.cnblogs.com/xiaobuxie/p/11391852.html