• codevs4419 FFF 团卧底的菊花


    题目描述 Description

    FFF 团卧底在这次出题后就知道他的菊花可能有巨大的危险,于是他提前摆布好了菊花阵,现在菊花阵里有若干朵菊花,出现次数最多的那一朵就是出题人的,你的任务是需要找出出题人的菊花。

    输入描述 Input Description

    第一行为 n

    第二行为 n 朵菊花

    输出描述 Output Description

    一行,为出题人的菊花

    样例输入 Sample Input

    5

    1 1 1 2 3

    样例输出 Sample Output

    1

    数据范围及提示 Data Size & Hint

    对于 100%的数据,n<=5000000,每个数都在 int 范围内,保证出题人的菊花出现的次数大于等于[n/2]

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<algorithm>
    #include<map>
    #include<vector>
    using namespace std;
    struct dat{
        int pow;
        int id;
        dat(int pow,int id):pow(pow),id(id){}
    };
    const long long sed = 31,Sed = 131,mod = 10007,Mod = 92311;
    long long big = 0,rec = 0,n;
    long long m,cmd;
    vector<dat> hash[mod];
    inline int add(){
        long long tmp = 0,Tmp = 0;
        tmp = (cmd*sed)%mod;
        Tmp = (cmd*Sed)%Mod;
        for(int i = 0;i < hash[tmp].size();i++){
            if(hash[tmp][i].id == Tmp) return ++hash[tmp][i].pow;
        }
        hash[tmp].push_back(dat(1,Tmp));
        return 1;
    }
    int main(){
        cin>>n;
        for(int i = 1;i <= n;i++){
            scanf("%d",&cmd);
            rec = add();
            if(rec >= (n>>1)){
                cout<<cmd;
                return 0;
            }
        }
        return 0;
    }
  • 相关阅读:
    为何在JDK安装路径下存在两个JRE?
    awk中printf的使用说明
    awk中printf的使用说明
    awk中printf的使用说明
    修改SecureCRT终端的Home和End功能键。
    修改SecureCRT终端的Home和End功能键。
    解决mysqldb查询大量数据导致内存使用过高的问题
    Linux 硬盘工具之hdparm
    Linux 硬盘工具之hdparm
    iostat命令详解
  • 原文地址:https://www.cnblogs.com/hyfer/p/5852355.html
Copyright © 2020-2023  润新知