Pagini recente » Cod sursa (job #1255326) | Cod sursa (job #2385239) | Cod sursa (job #162699) | Cod sursa (job #2631932) | Cod sursa (job #1938582)
#include <bits/stdc++.h>
#define Bucket_size 8
using namespace std;
int n,a,b,c;
vector <int> V;
void radixsort(int bits)
{
vector <int> Sorted_Bucket[(1<<Bucket_size)];
for(auto it:V) Sorted_Bucket[(it>>bits)&((1<<Bucket_size)-1)].push_back(it);
for(int i=0,n=0; i<(1<<Bucket_size); ++i)
for(auto it:Sorted_Bucket[i]) V[n++]=it;
}
int main()
{
ifstream f("radixsort.in");
ofstream g("radixsort.out");
int i;
f>>n>>a>>b>>c;
V.push_back(b);
for(int i=1; i<n; ++i) V.push_back((1LL*a*V[i-1]+b)%c);
for(int i=0; i<32; i+=Bucket_size) radixsort(i);
for(int i=0; i<n; i+=10) g<<V[i]<<" ";
}