#17517: 給延平的同仁 c++ AC


089487 (089487)

學校 : 國立臺灣師範大學附屬高級中學
編號 : 82069
來源 : [220.130.10.185]
最後登入時間 :
2024-04-01 11:16:18
b374. [福州19中]众数 | From: [42.72.109.51] | 發表日期 : 2019-04-17 12:37

先創造一個陣列來輸入,接下來就用sort來排序。再來創造兩個變數(一個存放目前最多數的次數,另一個存放現今的數)的及一個vector <int> 陣列來放目前有最多數的的值。

程式如下:

#include<bits/stdc++.h>
using namespace std;
int main()
{
int t,m,time,g,i;
vector <int> v;
while(cin>>t)
{
time=1;
int n[t];
for(int i=0;i<t;i++) cin>>n[i];
sort(n,n+t);
g=0;


for(int i=0;i<t;i++)
{
g=1;
while(n[i]==n[i+1]) g++,i++;
if(g>time) v.clear(),v.push_back(n[i]),time=g;
else if(g==time) v.push_back(n[i]);
}
for(int i=0;i<v.size();i++) cout<<v[i]<<" "<<time<<endl;

}
}

 AC (11ms, 392KB)

 
ZeroJudge Forum