题目:http://pat.zju.edu.cn/contests/pat-a-practise/1054
题意:找出出现次数超过M*N/2的颜色并输出。Map统计。
代码:
#include<cstdio>
#include<cstring>
#include<map>
using namespace std;
map<int,int> mapp;
int main()
{
int i,j,n,m,pi;
scanf("%d%d",&m,&n);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
scanf("%d",&pi);
mapp[pi]++;
}
int count=m*n/2;;
map<int,int>::iterator it;
for(it=mapp.begin();it!=mapp.end();it++)
if(it->second>count)
{
printf("%d\n",it->first);
break;
}
return 0;
}