Pagini recente » Cod sursa (job #1697003) | Cod sursa (job #2047090) | Cod sursa (job #918573) | Cod sursa (job #360927) | Cod sursa (job #1802591)
#include <iostream>
#include <fstream>
#define dim 500002
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int rad[11][dim], v[dim];
int main()
{
long p=1, i, j, n, mx, k=0,z,nr;
f>>n>>v[1];
mx=v[1];
for(i = 2 ; i <= n ; ++i)
{
f>>v[i];
if(mx < v[i]) mx= v[i];
}
while(mx){
++k;
mx/=10;
}
for(i = 1 ; i <= k ; ++i){
for(j = 1 ; j <= n ; ++j)
{
int x = (v[j]/p)%10;
rad[x][0]++;
int y = rad[x][0];
rad[x][y] = v[j];
}
nr=0;
for(z = 0 ; z <= 9 ; ++z)
for(j = 1 ; j <= rad[z][0] ; ++j)
v[++nr] = rad[z][j];
for(j=0 ; j <= 9 ; ++j)
rad[j][0]=0;
p*=10;
}
for(i = 1 ;i <= n ;++i)
{
g << v[i] << " ";
}
return 0;
}