zoukankan      html  css  js  c++  java
  • nyoj--95--众数问题(水题)

    众数问题

    时间限制:3000 ms  |  内存限制:65535 KB
    难度:3
    描述

    所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数,

    多重集合S重的重数最大的元素成为众数。例如:S={1,2,2,2,3,5},则多重集S的众数是2,其重数为3。

    现在你的任务是:对于给定的由m个自然数组成的多重集S,计算出S的众数及其重数。

    输入
    第一行为n,表示测试数据组数。(n<30)
    每组测试的第一行是一个整数m,表示多重集S中元素的个数为m
    接下来的一行中给出m(m<100)个不大于10万的自然数
    (不会出现不同元素出现的次数相同的情况,如:S={11,11,22,22,33,33})。
    输出
    每组测试数据输出一行,包含两个数,第一个是众数,第二个是其重数,中间以空格隔开。
    样例输入
    1
    6
    1 2 2 2 3 5
    样例输出
    2 3

    #include<stdio.h>
    #include<string.h>
    int num[100000+10];
    int main()
    {
    	int t;
    	scanf("%d",&t);
    	while(t--)
    	{
    		int n,a;
    		int max=0,flog;
    		scanf("%d",&n);
    		memset(num,0,sizeof(num));
    		for(int i=0;i<n;i++)
    		{
    			scanf("%d",&a);
    			num[a]++;
    		}
    		for(int i=0;i<100010;i++)
    		{
    			if(num[i])
    			{
    				if(num[i]>max)
    				{
    					max=num[i];
    					flog=i;
    				}
    			}
    		}
    		printf("%d %d
    ",flog,max);
    	}
    	return 0;
    }

     
  • 相关阅读:
    bzoj 1210 [HNOI2004] 邮递员 插头dp
    与非 乱搞233
    USACO JAN14 奶牛冰壶运动 凸包+判定
    bzoj 2829 计算几何
    R
    bzoj 1592 dp
    [Usaco2007 Open]Fliptile 翻格子游戏 状压dp
    拯救莫莉斯 状压dp
    大暑假集训 第一阶段总结 233
    hdu 1693 Eat the Trees 插头dp
  • 原文地址:https://www.cnblogs.com/playboy307/p/5273757.html
Copyright © 2011-2022 走看看