码迷,mamicode.com
首页 > 其他好文 > 详细

hdoj 5038 Grade【众数】

时间:2014-09-23 10:20:24      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:优化   iostream   algorithm   多校联赛   众数   

题目:hdoj 5038 Grade


题意:给出一组数,求众数,按升序输出


分析:只考众数的概念,但是一直没有搞清楚

众数:一组数中出现次数最多的数,假如所有数据的出现次数都一样,那么这组数据没有众数。(注意:数组中只有一个数的话众数就是它本身)


AC

代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include <vector>
typedef long long ll;
using namespace std;
const int M = 10000;
int sum[10100];
vector<int> v;
int main()
{
    int T;
    scanf("%d",&T);
    for(int cas=1; cas<=T; cas++)
    {
        memset(sum,0,sizeof(sum));
        int n,x;
        scanf("%d",&n);
        for(int i=0; i<n; i++)
        {
            scanf("%d",&x);
            int tmp=10000 - (100 - x)*(100 - x);
            sum[tmp]++;
        }
        int ma=max_align_t(sum);
        for(int i=0; i<=M; i++)
            ma=max(ma,sum[i]);
        for(int i=0; i<=M; i++)
        {
            if(sum[i]==ma)
                v.push_back(i);
        }
        printf("Case #%d:\n",cas);
        if(v.size()*sum[v[0]] == n && v.size()!=1)
            puts("Bad Mushroom");
        else
        {
            for(int i=0;i<v.size();i++)
                printf("%d%c",v[i],i==(v.size()-1)?'\n':' ');
        }
        v.clear();
    }
    return 0;
}


hdoj 5038 Grade【众数】

标签:优化   iostream   algorithm   多校联赛   众数   

原文地址:http://blog.csdn.net/y990041769/article/details/39494209

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!