AOJ 0108 Operation of Frequency of Appearance
こんにちは川です。
今回は、やるだけなので特に解説はないです。
たまにはしないとね。
#include<bits/stdc++.h>
using
namespace
std;
int
main()
{
int
n;
while
(cin>>n,n){
int
ans[12]={},kawa[12];
for
(
int
i=0;i<n;i++){
cin>>kawa[i];
ans[i]=kawa[i];
}
for
(
int
i=0;;i++){
int
num[100]={};
for
(
int
j=0;j<n;j++)num[kawa[j]]++;
bool
rever=1;
for
(
int
j=0;j<n;j++){
kawa[j]=num[kawa[j]];
if
(kawa[j]!=ans[j])rever=0;
}
if
(rever){
cout<<i<<endl;
for
(
int
j=0;j<n-1;j++)cout<<kawa[j]<<
" "
;
cout<<ans[n-1]<<endl;
break
;
}
for
(
int
j=0;j<n;j++)ans[j]=kawa[j];
}
}
}