Pagini recente » Cod sursa (job #113020) | Cod sursa (job #1612085) | Cod sursa (job #246843) | Cod sursa (job #451384) | Cod sursa (job #1794512)
#include <iostream>
#include <cstdio>
#include <stack>
using namespace std;
stack <int> corn[10];
int n;
int v[500000];
void afish()
{
for(int i=1;i<=n;i++)
cout<<v[i]<<" ";
cout<<"\n";
}
int main()
{
int ok=false;
FILE *f=fopen("algsort.in","r");
FILE *g=fopen("algsort.out","w");
fscanf(f,"%d",&n);
for(int i=1; i<=n; i++)
fscanf(f,"%d",&v[i]);
int divv=1;
while(1)
{
for(int i=1; i<=n; i++)
{
//if(v[i]/divv!=0 || (v[i]/divv)%10!=0)
corn[(v[i]/divv)%10].push(v[i]);
}
int k=0;
for(int i=0; i<=10; i++)
{
while(!corn[i].empty())
{ ok=true;
v[++k]=corn[i].top();
corn[i].pop();
}
}
//if(ok==false) {afish();return 0; }
afish();
divv=divv*10;
if(divv==1000) return 0;
}
return 0;
}