Pagini recente » Cod sursa (job #17208) | Cod sursa (job #1330619) | Cod sursa (job #2714647) | Cod sursa (job #2080408) | Cod sursa (job #1163677)
#include<fstream>
#include<vector>
using namespace std;
ifstream in("radixsort.in");
ofstream out("radixsort.out");
int main()
{
unsigned int n,a,b,c,i,j,d,e;
vector<unsigned int> v;
vector< vector<unsigned int> > v1,v2;
v1.resize(1<<16);
v2.resize(1<<16);
in>>n>>a>>b>>c;
d=0;
e=b;
for(i=0;i<n;i++)
{
v1.at(e&0x0000FFFF).push_back(e);
d=e;
e=(1LL*d*a+b)%c;
}
for(i=0;i<v1.size();i++)
for(j=0;j<v1.at(i).size();j++)
v2.at((v1.at(i).at(j)&0xFFFF0000)>>16).push_back(v1.at(i).at(j));
v1.resize(0);
for(i=0;i<v2.size();i++)
for(j=0;j<v2.at(i).size();j++)
v.push_back(v2.at(i).at(j));
for(i=0;i<v.size();i+=10) out<<v.at(i)<<" ";
}