PAT甲级——A1054 The Dominant Color
Behind the scenes in the computer's memory, color is always talked about as a series of 24 bits of information for each pixel. In an image, the color with the largest proportional area is called the dominant color. A strictly dominant color takes more than half of the total area. Now given an image of resolution Mby N (for example, 8), you are supposed to point out the strictly dominant color.
Input Specification:
Each input file contains one test case. For each case, the first line contains 2 positive numbers: M (≤) and N (≤) which are the resolutions of the image. Then N lines follow, each contains M digital colors in the range [0). It is guaranteed that the strictly dominant color exists for each input image. All the numbers in a line are separated by a space.
Output Specification:
For each test case, simply print the dominant color in a line.
Sample Input:
5 3
0 0 255 16777215 24
24 24 0 0 24
24 0 24 24 24
Sample Output:
24
1 #include <iostream> 2 #include <vector> 3 #include <unordered_map> 4 5 using namespace std; 6 7 int main() 8 { 9 int M, N; 10 cin >> M >> N; 11 unordered_map<int, int>res; 12 vector<vector<int>>data(M, vector<int>(N, 0)); 13 for (int i = 0; i < N; ++i) 14 { 15 for (int j = 0; j < M; ++j) 16 { 17 int a; 18 cin >> a; 19 res[a]++; 20 if (res[a] > M*N / 2) 21 { 22 cout << a << endl; 23 break; 24 } 25 } 26 } 27 return 0; 28 29 }