1 条题解

  • 0
    @ 2024-8-2 16:19:43

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    const int N = 1e5 + 10;
    int a[N];
    int n,m,x;
    int main() {
    cin>>n>>m;
     //数组计数法统计每个数出现的次数
     for(int i = 1;i <= m;i++){
     cin>>x;
     a[x]++;
     }
     
    //找 3 次
    int ma;//得票最多的作品的得票数
    for(int i = 1;i <= 3;i++){
    ma = a[1];//假设 1 号作品得票最多
    //打擂台找最多
    for(int j = 2;j <= n;j++){
     if(a[j] > ma){
     ma = a[j];
    } 
     }
     
     //循环找出哪些作品得票数为 ma
    for(int j = 1;j <= n;j++){
    if(a[j] == ma){
    cout<<j<<" ";
    //得票数清零,下一轮找就找不到了
    a[j] = 0; 
    }
    } 
     
     cout<<endl;
    }
     
    return 0;
    }
    
    • 1

    信息

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