解题思路:这题最关键的是要读懂题意,If not all the value are the same but the frequencies of them are the same, there is no mode.这句话是至关重要

      的一句。意思是:如果不是所有的值是相同的,并且他们的出现次数是相同的,那么就没有模型。如,1 1 2 2 3 3 ,它们并不是所有的数都是相同的的,

      并且1出现2次,2出现2次,3出现2次,所以这组数据是没有模型的,同理,1 2 3 4 5 也是没有模型的,输出Bad Mushroom.但是,要注意特殊判断,

      如,1 1 1 1 1,它所有的数是相同的,它是有唯一模型的。

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define inf 0x3f3f3f3f
const int maxn = ;
int hash2[maxn], num[maxn], vis[maxn];
int w[maxn], s[maxn];
int main()
{
int t, n, kase = ;
scanf("%d", &t);
while(t --)
{
scanf("%d", &n);
memset(hash2, , sizeof(hash2));
for(int i = ; i < n; i++)
{
scanf("%d", &w[i]);
s[i] = - (-w[i])*(-w[i]);
hash2[s[i]]++; //用哈希标记每个对应的grade出现的次数。
}
printf("Case #%d:\n", kase ++);
int ok = ;
for(int i = ; i < n; i++)
{
if(s[i] != s[]) //判断是否所有的grade是否是相同的。
{
ok = ;
break;
}
}
if(ok == ) //如果所有的grade都相同,则直接输出。
{
printf("%d\n", s[]);
continue; //不要掉了。
}
int max1 = -inf;
for(int i = ; i < n; i++)
{
if(hash2[s[i]] >= max1)
{
max1 = hash2[s[i]]; //找出grade出现次数最大的,可以有多个。
}
}
int cnt = ;
int flag = ;
memset(vis, , sizeof(vis));
for(int i = ; i < n; i++)
{
if(hash2[s[i]] < max1) flag = ; //如果有与出现最大次数不相同次数的数,则
//一定是有输出的。
if(hash2[s[i]] == max1 && !vis[s[i]])
{
vis[s[i]] = ;
num[cnt++] = s[i]; //cnt记录出现了多少个频次最大的,num数组则存下对应的值。
}
}
if(!flag) //如果全部出现频次相同,则是没有模型的。
{
printf("Bad Mushroom\n");
continue;
}
if(cnt == ) printf("%d\n", num[]); //一个直接输出。
if(cnt > )
{
sort(num, num+cnt);
for(int i = ; i < cnt-; i ++) printf("%d ", num[i]);
printf("%d\n", num[cnt-]); //注意输出格式即可。
}
}
return ;
}

HDU 5038 Grade的更多相关文章

  1. HDU 5038 Grade(分级)

    Description 题目描述 Ted is a employee of Always Cook Mushroom (ACM). His boss Matt gives him a pack of ...

  2. HDU 5038 Grade北京赛区网赛1005

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5038 解题报告:就是输入n个数w,定义s = 10000 - (100 - w)^2,问s出现频率最高 ...

  3. HDU 5038 Grade (水题,坑题)

    题意:给 n 个数,输出众数,但是如果所有的频率都相同但数不同输出 Bad Mushroom. 析:直接记录个数直接暴力就,就是要注意只有一种频率的时候. 代码如下: #pragma comment( ...

  4. hdu 5038 求出现次数最多的grade

    http://acm.hdu.edu.cn/showproblem.php?pid=5038 模拟水题 求出现次数最多的grade.如果有多个grade出现的次数一样多,且还有其他的grade,则把这 ...

  5. hdu 5038 水题 可是题意坑

    http://acm.hdu.edu.cn/showproblem.php?pid=5038 就是求个众数  这个范围小 所以一个数组存是否存在的状态即可了 可是这句话真恶心  If not all ...

  6. hdu 5038 (2014北京网络赛G 排序水题)

    题意:有n个数字,带入10000 - (100 - ai) ^ 2公式得到n个数,输出n个数中频率最大的数,如果有并列就按值从小到大都输出输出,如果频率相同的数字是全部的n个数,就输出Bad....题 ...

  7. HDU5003:Osu!(签到题)HDU5038:(签到题,题意很坑)

    HDU 5003 水题,直接上代码(因为题意读错了,WA了一遍). #include <iostream> #include <string.h> #include <s ...

  8. hdu 1084 What Is Your Grade?

    http://acm.hdu.edu.cn/showproblem.php?pid=1084 What Is Your Grade? Time Limit: 2000/1000 MS (Java/Ot ...

  9. hdu 3666 Making the Grade

    题目大意 给出了一列数,要求通过修改某些值,使得最终这列数变成有序的序列,非增或者非减的,求最小的修改量. 分析 首先我们会发现,最终修改后,或者和前一个数字一样,或者和后一个数字一样,这样才能修改量 ...

随机推荐

  1. Windows 7,64位机器上安装DB2 7.2+FP7

    1.要想在Windows 7,64位机器上安装DB2 7.2+FP7,注意:1)拷贝所有安装文件到本地2)设置setup.exe文件兼容windows 20003)使得users用户勾选“完全控制”权 ...

  2. Linux信号处理2

    引言 先看以下两个信号量: 13)SIGPIPE     当管道读端关闭,再往管道写东西,会发出SIGPIPE信号 17)SIGCHLD   子进程退出会向父进程发出SIGCHLD信号,系统默认处理是 ...

  3. MFC中错误知识总结(一)

    1.在继承与派生中,单目:表示派生,双目::表示继承,例如 class A { public: void c(); }; class B: public A {}; //类B继承类A void A:: ...

  4. JDBC第四次学习

    传智播客李勇老师的JDBC系列学习终于接近尾声了,好开心,能学到这么多的东西,还不赶快记录下来,留待以后回味! 如何使用开源项目DBCP(实际项目中常用)    主要分为三个步骤: 使用DBCP必须用 ...

  5. ring0 与 ring3 层之间的交互

    在进行Windows的ring0层开发时,必不可免的要与 ring3 层进行交互.进行数据间的相互传输.可用的方法有DeviceIoCntrol,ReadFile.我平常都是用的DeviceIoCon ...

  6. ios--集成支付宝钱包支付iOS SDK的方法与经验

    文/胖花花(简书作者)原文链接:http://www.jianshu.com/p/fe56e122663e著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 没想到,支付宝的SDK是我目前 ...

  7. ECharts本地部署

      将下载的包解压,再将包内文件copy到C:\inetpub\wwwroot下 在html中做如下引用: <script type="text/javascript" sr ...

  8. idea自动生成serialVersionUID

    Setting->Plugins 找到一个叫  GenerateSerialVersionUID 的插件 下载安装好,alt+insert就可以看到 默认情况下Intellij IDEA是关闭了 ...

  9. Windows下搭建Android开发环境

    1.下载eclipse google eclipse,到官网去下载最新版的,推荐java ee版本的,当然你要用android版本或者standard也无妨 2.下载android sdk,安装相关的 ...

  10. 《Linux内核设计与实现》读书笔记(十)- 内核同步方法【转】

    转自:http://www.cnblogs.com/wang_yb/archive/2013/05/01/3052865.html 内核中提供了多种方法来防止竞争条件,理解了这些方法的使用场景有助于我 ...