Pagini recente » Cod sursa (job #364402) | Cod sursa (job #277666) | Cod sursa (job #916369) | Cod sursa (job #2696329) | Cod sursa (job #2623375)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin ("radixsort.in");
ofstream fout ("radixsort.out");
vector <int> v;
int N, A, B, C;
void cit()
{
fin>>N>>A>>B>>C;
v.push_back(B);
for (int i=2; i<=N; i++)
v.push_back((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)
fout<<v[i]<<' ';
}
int main()
{
cit();
for (int i=0; i<4; i++)
sol(i);
afis();
return 0;
}