p1364单词查找树
Posted 邱宇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了p1364单词查找树相关的知识,希望对你有一定的参考价值。
将它作为我的树的练习题来做的,根本没有想其他的什么方法。
先去看书上的模板,竟然用到了指针啊?干脆的什么都看不懂。于是就苦苦回忆寒假学的东西,经历了无数苦难波折后写下了一个非常非常对的代码(在自己的电脑上运行答案都对):
int end=27; int i,f,ans=0,boyt,now; string s; struct lianbiao { char n; int boy[27]; }trie[60000]; int main() { //freopen("123.in","r",stdin); while(cin>>s) { now=int(s[0]-64); trie[now].n=s[0]; for(f=1;f<s.size();f++) { boyt=int(s[f])-64; if(trie[trie[now].boy[boyt]].n==s[f])//已经有了 { now=trie[now].boy[boyt]; } else { trie[end].n=s[f]; trie[now].boy[boyt]=end; now=end; end++; } } } for(i=1;i<=60000;i++) if(trie[i].n!=0) ans++; cout<<ans+1; return 0; }
但是,这份代码交到oj上是全错的,因为最后一步:ans不需要+1,我也不知道为什么。
还有一件事,end在哪个哪个版本中是关键字,要少用,忘了学长说了啥了,总之就orz
以上是关于p1364单词查找树的主要内容,如果未能解决你的问题,请参考以下文章