寒假集训刚上完的蒟蒻来做普及-,错了之后(应该是输入错了)看看题解觉得自己鬼迷心窍。用的数组和选择排序(蒟蒻行为勿喷)。
代码如下:
#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ll;
int main(){
ll n,cnt=0;
bool flag=true;
scanf("%lld",&n);
ll a[n],ans[n],sum[n],s=0;
memset(ans,-1,sizeof(ans));
memset(sum,0,sizeof(sum));
for(ll i=0;i<n;i++){
scanf("%lld",&a[i]);
for(ll j=0;j<=cnt+1;j++){
if(a[i]==ans[j])sum[j]++;
}
for(ll j=0;j<=cnt;j++){
if(a[i]!=ans[j])s++;
}
if(s==i+1){
ans[cnt]=a[i];
sum[cnt]++;
cnt++;
}
s=0;
}
for(int i=0;i<cnt-1;i++){
for(int j=i+1;j<cnt;j++){
if(ans[i]>ans[j]){
swap(ans[i],ans[j]);
swap(sum[i],sum[j]);
}
}
}
for(int i=0;i<cnt;i++)printf("%lld %lld\n",ans[i],sum[i]);
return 0;
}
各位大佬行行好!