Cod sursa(job #1100762)

Utilizator BlackLordFMI Alex Oprea BlackLord Data 7 februarie 2014 14:11:36
Problema Radix Sort Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream f("radixsort.in");
ofstream g("radixsort.out");
const int  X=0xff;
int n, a, b, c, v[10000010], i, j, k, nr;

vector<int> L[256];

int main(){
    f>>n>>a>>b>>c;
    v[1]=b;
    for(i=2; i<=n; i++)
        v[i]=(a*v[i-1]+b)%c;
    for(k=0; k<4; k++)
    {
        nr=0;
        for(i=1; i<=n; i++)
            L[ (v[i]>>(8*k))&X ].push_back(v[i]);
        for(i=0; i<256; i++)
            for(j=0; j<L[i].size(); j++)
                v[++nr]=L[i][j];
    }
    for(i=1; i<=n; i+=10)
        g<<v[i]<<' ';
    g<<"\n";
    return 0;
}