Pagini recente » Cod sursa (job #1319245) | Cod sursa (job #559454) | Cod sursa (job #2822321) | Cod sursa (job #3276617) | Cod sursa (job #1101594)
#include<fstream>
#include<queue>
#define base 256
#define ba 255
using namespace std;
ifstream f("radixsort.in");
ofstream g("radixsort.out");
queue<int> q[2][base];
int n,a,b,c,fir,p,j,i,val;
int main ()
{
f>>n>>a>>b>>c;
fir=b;
q[p][fir&ba].push(fir);
for(i=2;i<=n;++i)
{
fir=(1LL*fir*a+b)%c;
q[p][fir&ba].push(fir);
}
for(i=1;i<4;++i,p=1-p)
for(j=0;j<base;++j)
for(;!q[p][j].empty();q[p][j].pop())
{
val=q[p][j].front()>>(8*i);
q[1-p][val&ba].push(q[p][j].front());
}
for(i=1,j=0;j<base;++j)
for(;!q[p][j].empty();q[p][j].pop(),i++)
if(i%10==1)
g<<q[p][j].front()<<" ";
return 0;
}