• 动物统计加强版 Trie 树


    动物统计加强版

    时间限制:3000 ms  |  内存限制:150000 KB
    难度:4
     
    描述
    在美丽大兴安岭原始森林中存在数量繁多的物种,在勘察员带来的各种动物资料中有未统计数量的原始动物的名单。科学家想判断这片森林中哪种动物的数量最多,但是由于数据太过庞大,科学家终于忍受不了,想请聪明如你的ACMer来帮忙。
     
    输入
    第一行输入动物名字的数量N(1<= N <= 4000000),接下来的N行输入N个字符串表示动物的名字(字符串的长度不超过10,字符串全为小写字母,并且只有一组测试数据)。 
    输出
    输出这些动物中最多的动物的名字与数量,并用空格隔开(数据保证最多的动物不会出现两种以上)。 
    样例输入
    10
    boar
    pig
    sheep
    gazelle
    sheep
    sheep
    alpaca
    alpaca
    marmot
    mole
    样例输出
    sheep 3

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<cstring>
    #include<sstream>
    #include<algorithm>
    #include<queue>
    #include<deque>
    #include<iomanip>
    #include<vector>
    #include<cmath>
    #include<map>
    #include<stack>
    #include<set>
    #include<fstream>
    #include<memory>
    #include<list>
    #include<string>
    using namespace std;
    typedef long long LL;
    typedef unsigned long long ULL;
    #define MAXN 4000004
    #define L 31
    #define INF 1000000009
    #define eps 0.00000001
    /*
    Trie 树
    */
    typedef struct node
    {
        int cnt;
        struct node* next[26];
    }*Tree;
    char tmp[11];
    int alloc = 0, ans = 0, n;
    Tree Newnode()
    {
        Tree T = (Tree)malloc(sizeof(node));
        T->cnt = 0;
        for (int i = 0; i < 26; i++)
        {
            T->next[i] = NULL;
        }
        return T;
    }
    void Insert(Tree T, char s[])
    {
        int p = 0;
        while (s[p] != '')
        {
            int k = s[p] - 'a';
            if (!T->next[k])
                T->next[k] = Newnode();
            T = T->next[k];
            p++;
        }
        T->cnt++;
        if (T->cnt > ans)
        {
            memcpy(tmp, s, sizeof(s));
            ans = T->cnt;
        }
    }
    int main()
    {
        scanf("%d", &n);
        char s[11];
        Tree T = Newnode();
        for (int i = 0; i < n; i++)
        {
            scanf("%s", s);
            Insert(T, s);
        }
        printf("%s %d
    ",tmp, ans);
    }
  • 相关阅读:
    Html禁止粘贴 复制 剪切
    表单标签
    自构BeanHandler(用BeansUtils)
    spring配置中引入properties
    How Subcontracting Cockpit ME2ON creates SD delivery?
    cascadia code一款很好看的微软字体
    How condition value calculated in sap
    Code in SAP query
    SO Pricing not updated for partial billing items
    Javascript learning
  • 原文地址:https://www.cnblogs.com/joeylee97/p/6895903.html
Copyright © 2020-2023  润新知