Pagini recente » Cod sursa (job #936214) | Cod sursa (job #2862722) | Cod sursa (job #2199324) | Cod sursa (job #918410) | Cod sursa (job #1802567)
#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=0, k=0,z;
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];
}
k=0;
for(z = 0 ; z <= 9 ; z++)
for(j = 1 ; j <= rad[z][0] ; j++)
v[++k] = 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;
}