Cod sursa(job #2752710)

Utilizator RaresPoinaruPoinaru-Rares-Aurel RaresPoinaru Data 19 mai 2021 11:24:34
Problema Potrivirea sirurilor Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.43 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("zimeria.in");
ofstream fout ("zimeria.out");
int c,n,cod[400001],i,p,nr,v[100];
char x,x1,x2,x3,x4,x5,v2[100];
int main()
{
    fin >>c>>n;
    for (i=1;i<=12;++i)
    {
        fin >>x;
        v[x-'0']=i;
        v2[i]=x;
    }
    fin.get ();
    for (i=1;i<=n;++i)
    {
        fin.get (x1);
        fin.get (x2);
        fin.get (x3);
        fin.get (x4);
        fin.get (x5);
        fin.get ();
        x1=v[x1-'0'];
        x2=v[x2-'0'];
        x3=v[x3-'0'];
        x4=v[x4-'0'];
        x5=v[x5-'0'];
        p=1;
        cod[i]+=x5*p;
        p=p*13;
        cod[i]+=x4*p;
        p=p*13;
        cod[i]+=x3*p;
        p=p*13;
        cod[i]+=x2*p;
        p=p*13;
        cod[i]+=x1*p;
    }
    sort (cod+1,cod+n+1);
    nr=0;
    if (c==1)
    {
        for (i=1;i<=n;++i)
        {
            if (cod[i]!=cod[i-1])
                nr++;
        }
        fout <<nr;
    }
    else
    {
        for (i=1;i<=n;++i)
        {
            x1=v2[cod[i]%13];
            cod[i]/=13;
            x2=v2[cod[i]%13];
            cod[i]/=13;
            x3=v2[cod[i]%13];
            cod[i]/=13;
            x4=v2[cod[i]%13];
            cod[i]/=13;
            x5=v2[cod[i]%13];
            cod[i]/=13;
            fout <<x5<<x4<<x3<<x2<<x1<<'\n';
        }
    }
    fin.close ();
    fout.close ();
    return 0;
}