首页 > 其他 > 详细

HDU 5038 Grade北京赛区网赛1005

时间:2014-09-23 20:38:56      阅读:140      评论:0      收藏:0      [点我收藏+]

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5038

解题报告:就是输入n个数w,定义s = 10000 - (100 - w)^2,问s出现频率最高的是哪些,当所有的不同的s出现频率相同时,输出Bad Mushroom,当s只有一种时,直接输出。

bubuko.com,布布扣
 1 #include<cstdio>
 2 #include<cstring>
 3 #include<iostream>
 4 #include<algorithm>
 5 using namespace std;
 6 const int maxn = 10000;
 7 
 8 int num[maxn+5],ans[maxn+5];
 9 int main()
10 {
11     int T,n,kase = 1;
12     scanf("%d",&T);
13     while(T--)
14     {
15         scanf("%d",&n);
16         memset(num,0,sizeof(num));
17         memset(ans,0,sizeof(ans));
18         int w ,t,M =  0;
19         for(int i = 0;i < n;++i)
20         {
21             scanf("%d",&w);
22             t = 10000 - (100 - w) * (100 - w);
23             num[t]++;
24             M = max(M,num[t]);
25         }
26         int f = 0,tot = 0,tt = 0;
27         for(int i = 0;i <= 10000;++i)
28         if(num[i] == M)
29         {
30             ans[f++] = i;
31             tot++;
32             tt += num[i];
33         }
34         sort(ans,ans+f);
35         printf("Case #%d:\n",kase++);
36         if(tot != 1 && tt == n)
37         {
38             puts("Bad Mushroom");
39             continue;
40         }
41         for(int i = 0;i < f;++i)
42         printf(i == f - 1? "%d\n":"%d ",ans[i]);
43     }
44     return 0;
45 }
View Code

 

HDU 5038 Grade北京赛区网赛1005

原文:http://www.cnblogs.com/xiaxiaosheng/p/3989160.html

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