1 条题解

  • 0
    @ 2026-1-29 20:16:47
    #include<bits/stdc++.h>
    using namespace std;
    
    // [1] 存储n张投票的编号(数组大小满足n≤1000的题目要求)
    int arr[1010];
    // [2] 统计每只猴子的得票数(索引对应猴子编号1~n)
    int brr[1010]={};
    
    int main() {
        int n;
        cin >> n; // [3] 输入猴子的数量n
        // [4] 循环读取n张投票的编号
        for(int i = 0; i < n; i++) {
            cin >> arr[i];
        }
    
        // [6] 统计每张投票对应的猴子得票数
        for(int i = 0; i < n; i++) {
            brr[arr[i]]++;
        }
    
        int max_count = 0; // [7] 初始化最大得票数为0
        int result = 0;    // [8] 初始化猴王编号为0
        // [9] 遍历所有猴子编号,找到得票最多且编号最大的猴子
        for(int i = 1; i <= n; i++) {
            // 如果当前猴子得票更多,或者得票相同但编号更大
            if(brr[i] > max_count || (brr[i] == max_count && i > result)) {
                max_count = brr[i];
                result = i;
            }
        }
    
        // [10] 输出猴王的编号
        cout << result << endl;
    
        return 0;
    }
    
    • 1

    信息

    ID
    638
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    递交数
    2
    已通过
    1
    上传者