【PAT甲级】1054 The Dominant Color (20 分)

题意:

输入两个正整数M和N(M<=800,N<=600),分别代表一张图片的宽度和高度,接着输入N行每行包括M个点的颜色编号,输出这张图片主导色的编号。(一张图片的主导色占据了一半以上的像素点)

AAAAAccepted code:

 1 #define HAVE_STRUCT_TIMESPEC
 2 #include<bits/stdc++.h>
 3 using namespace std;
 4 int a[500007];
 5 int main(){
 6     ios::sync_with_stdio(false);
 7     cin.tie(NULL);
 8     cout.tie(NULL);
 9     int m,n;
10     cin>>m>>n;
11     int cnt=0;
12     for(int i=1;i<=n;++i)
13         for(int j=1;j<=m;++j)
14             cin>>a[++cnt];
15     sort(a+1,a+1+cnt);
16     if(m==1&&n==1){
17         cout<<a[1];
18         return 0;
19     }
20     int tamp=0,ans=0;
21     for(int i=2;i<=cnt;++i){
22         if(a[i]==a[i-1])
23             ++tamp;
24         else
25             tamp=1;
26         if(tamp>cnt/2){
27             cout<<a[i];
28             return 0;
29         }
30     }
31     return 0;
32 }

 

 

 

posted @ 2019-10-08 10:55  sewage  阅读(169)  评论(0编辑  收藏  举报