Grada

泰德是一个员工总是煮蘑菇(ACM)。他的老板给了他一包马特蘑菇问他年级每个蘑菇根据其重量。假设一个蘑菇的重量W那么它的等级

S = 10000100 W)^ 2

更重要的是,泰德也有报道这些蘑菇的等级模式。该模式是最经常出现的价值。模式可能不唯一。如果不是所有的价值都是一样的但它们的频率是一样的没有模式

输入

输入的第一行包含一个整数T,表示测试用例的数目。然后T测试用例跟踪

每个测试用例的第一行包含一个整数N(1N10 ^ 6)表示数量蘑菇

第二行包含N个整数,表示每个蘑菇的重量。重量大于0小于200

输出

对于每一个测试案例输出线2条

第一行包含“案例# x其中x是数字(从1开始

第二行包含给定的蘑菇等级模式。如果存在多个模式,以升序输出。如果没有模式输出“坏蘑菇”

 

#include <stdio.h>
#include <math.h>
#include <algorithm>
int main()
{
    int n,w,i,m,d,t,max,c,sign,k,a[110];
    while(scanf("%d",&n)!=EOF)
    {
        t=0;
        while(n--)
        {
        memset(a,0,sizeof(a));
        scanf("%d",&m);
            t++;
           max=-1;
           c=0;
           sign=0;
             k=m;
            while(m--)
            {
                scanf("%d",&w);
                a[abs(100-w)]++;
            }
            for(i=0;i<=100;i++)
            {
                if(a[i]>max)  max=a[i];
            }
            for(i=0;i<=101;i++)
            {
                if(a[i]==max) c++;
            } 
            printf("Case #%d:
",t); 
                 if(max*c==k&&c!=1)
                    printf("Bad Mushroom");
                else
                {
                    for(i=100;i>=0;i--)
                    { 
                      if(a[i]==max) 
                      {
                          if(sign==0)
                        {
                          printf("%d", 10000-i*i);
                          sign=1;
                        }
                       else    printf(" %d",10000-i*i);
                      }
                    } 
                }
                    
            printf("
");
        }
    }
    return 0;
}
原文地址:https://www.cnblogs.com/liuming1115/p/4488257.html