A1054
Description:
计算机总是使用24位序号表示每个像素的色彩信息,在一个照片中,颜色的最大可能范围被叫做色域。一个严格色域占据了总区域的二分之一以上。现给出一章MxN分辨率的图片,求这个图片的严格色域。
Input:
- 每个测试一组样例;
- 每个样例,首行给出两个整数:MN为图片的分辨率,M<=800,N<=600;
- 接下来N行,每行包含M位颜色,在[0-2^24)范围内,保证每个输入图片存在严格色域;
Output:
- 每个测试,输出一行色域值;
算法描述:
- STL map类的使用;
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<algorithm>
#include<map>
#include<vector>
#include<queue>
using namespace std;
map<int, int>m;
int main()
{
#ifdef ONLINE_JUDGE
#else
freopen("1.txt", "r", stdin);
#endif // ONLINE_JUDGE
int n, mm, c, maxn = -1, maxc = -1;
scanf("%d%d", &n, &mm);
for(int i = 0; i < mm; i++){
for(int j = 0; j < n; j++){
scanf("%d", &c);
if(m.count(c) == 0) m.insert(pair<int,int>(c,1));
else m[c]++;
if(m[c] > maxn){
maxn = m[c];
maxc = c;
}
}
}
printf("%d", maxc);
return 0;
}