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){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<1;return 0;
}
View Code

但是,这份代码交到oj上是全错的,因为最后一步:ans不需要+1,我也不知道为什么。

还有一件事,end在哪个哪个版本中是关键字,要少用,忘了学长说了啥了,总之就orz

 

转载于:https://www.cnblogs.com/qywyt/p/9063250.html


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部