Cod sursa(job #157210)
Utilizator | Data | 12 martie 2008 21:48:33 | |
---|---|---|---|
Problema | Ordine | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.71 kb |
#include <stdio.h>
int a[27];
int verifica (int a[27])
{
int i;
for (i=1; i<=26; ++i)
if (a[i])
return 1;
return 0;
}
void read_solve ()
{
int i,ca,ok=0;
char ch;
while (scanf ("%c",&ch)!=EOF)
a[ch-'a'+1]++;
do
{
for (i=1; i<=26; ++i)
if (a[i] && ok!=i)
{
ca=i+'a'-1;
printf ("%c",ca);
--a[i];
ok=i;
break;
}
}
while (verifica (a));
}
int main ()
{
freopen ("ordine.in","r",stdin);
freopen ("ordine.out","w",stdout);
read_solve ();
return 0;
}