标签:优化 iostream algorithm 多校联赛 众数
题意:给出一组数,求众数,按升序输出
分析:只考众数的概念,但是一直没有搞清楚
众数:一组数中出现次数最多的数,假如所有数据的出现次数都一样,那么这组数据没有众数。(注意:数组中只有一个数的话众数就是它本身)
AC
代码:
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include <vector> typedef long long ll; using namespace std; const int M = 10000; int sum[10100]; vector<int> v; int main() { int T; scanf("%d",&T); for(int cas=1; cas<=T; cas++) { memset(sum,0,sizeof(sum)); int n,x; scanf("%d",&n); for(int i=0; i<n; i++) { scanf("%d",&x); int tmp=10000 - (100 - x)*(100 - x); sum[tmp]++; } int ma=max_align_t(sum); for(int i=0; i<=M; i++) ma=max(ma,sum[i]); for(int i=0; i<=M; i++) { if(sum[i]==ma) v.push_back(i); } printf("Case #%d:\n",cas); if(v.size()*sum[v[0]] == n && v.size()!=1) puts("Bad Mushroom"); else { for(int i=0;i<v.size();i++) printf("%d%c",v[i],i==(v.size()-1)?'\n':' '); } v.clear(); } return 0; }
标签:优化 iostream algorithm 多校联赛 众数
原文地址:http://blog.csdn.net/y990041769/article/details/39494209