首页 > 其他 > 详细

hdoj 5038 Grade【众数】

时间:2014-09-23 10:01:35      阅读:252      评论:0      收藏:0      [点我收藏+]

题目: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【众数】

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!