PAT(甲级)1054

map容器的应用,
由于输入的数据较大,不考虑使用数组记录出现次数,采用map建立映射,相同值则+1.

#include
#define lowbit(x) ((x)&(-(x)))
#define ll long long
#define INF 0x3f3f3f3f
#define N 100000
#define CLR(a) memset(a, 0, sizeof(a))
using namespace std;
int m,n;
map<int,int> img;
int main() {
	int tmp;
	cin>>m>>n;
	for(int i=0;i<m;i++){
		for(int j=0;j<n;j++){
			cin>>tmp;
			img[tmp]++;
		}
	}
	int ans;
	map<int,int>::iterator it=img.begin();
	for(it;it!=img.end();it++){
		if(2*(it->second)>m*n){
			ans=it->first;
			break;
		}
	}
	cout<<ans<<endl;
	return 0;
}

你可能感兴趣的:(PAT(Advanced,C++版))