【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 }
保持热爱 不懈努力
不试试看怎么知道会失败呢(划掉)
世上无难事 只要肯放弃(划掉)