hdu 5038 求出现次数最多的grade
2014-10-13 22:28
197 查看
http://acm.hdu.edu.cn/showproblem.php?pid=5038
模拟水题
求出现次数最多的grade。如果有多个grade出现的次数一样多,且还有其他的grade,则把这些出现次数最多的grade按升序输出;否则,输出“Bad Mushroom”。
模拟水题
求出现次数最多的grade。如果有多个grade出现的次数一样多,且还有其他的grade,则把这些出现次数最多的grade按升序输出;否则,输出“Bad Mushroom”。
#include <cstdio> #include <cstdlib> #include <cmath> #include <cstring> #include <string> #include <queue> #include <vector> #include <iostream> #include <algorithm> using namespace std; #define RD(x) scanf("%d",&x) #define RD2(x,y) scanf("%d%d",&x,&y) #define clr0(x) memset(x,0,sizeof(x)) int n; int s[1000005]; int cnt[10005]; int main(){ int _,w,cas = 1; RD(_); while(_--){ RD(n); clr0(cnt); for(int i = 0;i < n;++i){ scanf("%d",&w); s[i] = 10000 - (100 - w)*(100 - w); cnt[s[i]]++; } int mn = 20000000,mx = -1; vector <int> ans; for(int i = 0;i <= 10000;++i){ if(cnt[i]){ mn = min(cnt[i],mn); mx = max(cnt[i],mx); } } for(int i = 0;i <= 10000;++i){ if(cnt[i] == mx){ ans.push_back(i); } } printf("Case #%d:\n",cas++); if(mn == mx && ans.size() != 1){ puts("Bad Mushroom"); }else{ for(int i = 0;i < ans.size();++i){ printf("%d%c",ans[i]," \n"[i == ans.size() - 1]); } } } return 0; }
相关文章推荐
- hdu 5038 求出现次数最多的grade
- HDU 1004.Let the Balloon Rise【找出出现次数最多的字符串】
- HDU 1029 出现次数最多(不解)
- hdu 1004-统计出现次数最多的字符串
- hdu 1806 Frequent values(给定一个非降序数组,求任意区间内出现次数最多的数的次数)
- HDU 1800 简单贪心 13.1.10用trie重做 ---其实是统计出现次数最多的单词
- MySQL 查询重复出现次数最多的记录
- 判断一个数组中出现次数最多的元素
- 求一个字符串中连续出现次数最多的子串
- MySQL 查询重复出现次数最多的记录
- 一个文本文件中约有10万多行的数据,每个数据占一行(数据为一个整数)。要求:统计出总行数,并找出出现次数最多的那个整数。
- 求一个整型数组中出现次数最多的一个元素,要求具备较高的效率
- 一次遍历找出“出现次数最多的子串”
- 以字符串中出现次数最多的字符的个数为权值,对一个字符串数组进行升序排序
- 求出现最多的字符及次数
- 通过键盘输入一个字符串,判断字符串中出现最多的字符并输出该字符和输出出现次数
- 所谓微软面试题的解答:求一个字符串中连续出现次数最多的子串
- 出现次数最多的子字符串?——其实没那么复杂
- 求一个字符中连续出现次数最多的子串
- 三种方式统计string中出现次数最多的char(还是LinQ最简便)