Grada

来源:互联网 发布:二维数组申明 编辑:程序博客网 时间:2024/04/29 18:05

泰德是一个员工总是煮蘑菇(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:\n",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("\n");        }    }    return 0;}
0 0
原创粉丝点击