Pagini recente » Cod sursa (job #2441460) | Cod sursa (job #2612785) | Cod sursa (job #2823315) | Cod sursa (job #220305) | Cod sursa (job #1149139)
#include <stdio.h>
#include <vector>
using namespace std;
vector <int> v;
int N, A, B, C;
void cit()
{
scanf("%d %d %d %d", &N, &A, &B, &C);
v.push_back(B);
for (int i=2; i<=N; i++)
v.push_back((1ll*A*v.back()+B)%C);
}
void sol(int i)
{
vector <int> a[256];
for (int j=0; j<N; j++)
a[255&(v[j]>>i*8)].push_back(v[j]);
v.clear();
for (int j=0; j<256; j++)
{
for(int k=0; k<a[j].size(); k++)
v.push_back(a[j][k]);
a[j].clear();
}
}
void afis()
{
for (int i=0; i< v.size(); i+=10)
printf("%d ", v[i]);
}
int main()
{
freopen("radixsort.in", "r", stdin);
freopen("radixsort.out", "w", stdout);
cit();
for (int i=0; i<4; i++)
sol(i);
afis();
return 0;
}