• poj 2503 Trie树


      典型的Trie树, 算是复习一下字符串吧, 就是输入有点恶心,代码如下:

    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    
    using namespace std;
    const int maxn = 500000+100;
    struct Trie{
        bool isword;
        int next[26];
        char words[15];
        Trie(){
            memset(next, -1, sizeof(next));
            isword = false;
        }
    }Root;
    Trie node[maxn];
    int n;
    
    void Insert(char *tar){
        Trie *head = &Root;
        char *s = tar;
        while(*tar!=' ') tar++;
        *tar='';
        tar++;
        while(*tar!=''){
            int id = *tar - 'a';
            if(head->next[id] == -1){
                head->next[id] = n++;
            }
            head = &node[head->next[id]];
            tar++;
        }
        head->isword = true;
        //printf("s = %s
    ", s);
        strcpy(head->words, s);
    }
    
    char *Search(char *tar)
    {
        Trie *head = &Root;
        while(*tar){
            int id = *tar - 'a';
            if(head->next[id] == -1) return NULL;
            head = &node[head->next[id]];
            tar++;
        }
        if(head->isword) return head->words;
        else return NULL;
    }
    
    char str[100];
    
    int main(){
        n = 0;
        while(gets(str)){
            bool kongge = false;
            int len = strlen(str);
            for(int i=0; i<len; i++) {
                if(str[i] == ' '){
                        kongge = true;
                        break;
                }
            }
            if(str[0]<'a'||str[0]>'z') continue;
            if(kongge) Insert(str);
            else {
                char *p = Search(str);
                if(p == NULL) printf("eh
    ");
                else printf("%s
    ", p);
            }
        }
        return 0;
    }
  • 相关阅读:
    Sketch or Figma谁才是UI设计软件的未来?
    2020年网站首屏设计:最佳实践和例子
    为设计工具付费到底值不值得?
    社交网站原型模板分享
    摹客PS插件,支持自定切图尺寸!
    UI设计适合女生学吗?会不会很难?
    mysql数据操作之单表查询
    表操作
    库操作
    数据库
  • 原文地址:https://www.cnblogs.com/xingxing1024/p/5285468.html
Copyright © 2020-2023  润新知