1 条题解

  • 1
    @ 2025-4-6 19:51:22
    #include <bits/stdc++.h>
    using namespace std;
    
    struct pc{
        string mz;//名字
        int sl;//数量
    }a[110];
    
    int k = 0;//a数组的数量
    
    //大写转小写
    string dzx(string s)
    {
        for(int i = 0; i < s.size();i++)
        {
            if(isupper(s[i]))s[i] +=32;
        }
        return s;
    }
    //找到s在a数组中的下标
    int fd(string s)
    {
        for(int i = 0; i < k;i++)
        {
            if(s == a[i].mz) return i;
        }
        return -1;
    }
    
    int main()
    {
        int n;
        cin>>n;
        for(int i = 1; i <= n;i++)
        {
            string st;
            cin>>st;
            st = dzx(st);
            //cout<<st<<endl;
            if(fd(st) == -1){
                //不存在
                
                a[k].mz = st;
                a[k].sl = 1;
                k++;
            }else {
                //找到下表之后 在对应的位置自增
                a[fd(st)].sl ++;
            }
        }
    
        int mv = 0;//最大数量
        int mp = 0;//最大数量的下标
        for(int i = 0; i < k;i++)
        {
        //cout<<a[i].mz <<' '<<a[i].sl<<endl;
            if(a[i].sl > mv)
            {
                mv = a[i].sl;
                mp = i;
            }
        }
        cout<<a[mp].mz<<endl;
        return 0;
    }
    

    信息

    ID
    36182
    时间
    1000ms
    内存
    512MiB
    难度
    2
    标签
    递交数
    2
    已通过
    2
    上传者