Cod sursa(job #2509309)

Utilizator Chirac_MateiChiriac Matei Chirac_Matei Data 14 decembrie 2019 09:43:01
Problema Radix Sort Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <fstream>
#include <vector>

using namespace std;
ifstream fin ("radixsort.in");
ofstream fout ("radixsort.out");
int n,i,x,p;
int A,B,C;
bool ok;
vector <int> v, a[11];
int main()
{
    fin>>n>>A>>B>>C;
    for(i=1;i<=n;i++)
    {
        if(i==1)
            v.push_back(A);
        else
            v.push_back((A*v[i-1]+B)%C);
    }
    p=1;
    ok=true;
    while(ok)
    {
        ok=false;
        for(int it : v)
        {
            if(it/p>0)
                ok=true;
            a[(it/p)%10].push_back(it);
        }
        v.clear();
        for(i=0;i<=9;i++)
        {
            for(int it : a[i])
                v.push_back(it);
            a[i].clear();
        }
        p*=10;
    }
    for(int it : v)
        fout<<it<<' ';
    return 0;
}