Untitled
unknown
plain_text
3 years ago
1.4 kB
16
Indexable
#include <bits/stdc++.h>
using namespace std;
long long int a, n, b[100005], cnt, maxnr, secv;
vector<long long int> sch;
long long int schimbat(long long int x){
long long int cx, nrschimb1=0, p=1;
cx=x;
vector <long long int> v1;
while(cx){
v1.push_back(cx%10);
cx/=10;
}
sort(v1.begin(), v1.end());
while(x){
for(int i=0; i<v1.size(); i++){
if(v1[i]==x%10){
nrschimb1=nrschimb1+p*(i+1);
p=p*10;
x/=10;
v1[i]=-1;
break;
}
}
}
return nrschimb1;
}
bool echivalente(long long int x, long long int y){
return schimbat(x)==schimbat(y);
}
int main(){
ifstream fin("forma.in");
ofstream fout("forma.out");
fin>>a;
fin>>n;
for(int i=0; i<n; i++){
fin>>b[i];
//fout<<schimbat(b[i])<<" ";
if(echivalente(a, b[i])==1){
cnt++;
}
}
fout<<cnt<<endl;
for(int i=0; i<n; i++){
sch.push_back(schimbat(b[i]));
}
sort(sch.begin(), sch.end());
for(int i=0; i<sch.size(); i++){
if(sch[i]==sch[i+1]){
secv++;
}
else{
maxnr=max(maxnr, secv);
secv=0;
}
}
fout<<maxnr+1;
return 0;
}
Editor is loading...