zoukankan      html  css  js  c++  java
  • 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;
    }
    View Code

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

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

  • 相关阅读:
    Pyhton学习——Day60
    Pyhton学习——Day58
    Python——微信数据分析
    C/C++文件指针偏移
    I/O流+统计文件词频
    vector概念
    new/delete工作机制
    Singleton单例类模式
    对象数组
    特殊成员函数
  • 原文地址:https://www.cnblogs.com/qywyt/p/9063250.html
Copyright © 2011-2022 走看看