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 }

猜你喜欢

转载自www.cnblogs.com/zzw1024/p/11285741.html