Cod sursa(job #302612)

Utilizator mad200647Mihai Toma mad200647 Data 9 aprilie 2009 08:05:33
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<fstream.h>
ifstream f("ordine.in");
ofstream g("ordine.out");
int i,a[25],poz=0,j,min=2000000001,max,c[1000001];
char p;
int main ()
{
while (f>>p)
	{a[int(p)-97]++;
	 if ((int(p)-97)>max)max=int(p)-97;
	 if ((int(p)-97)<min)min=int(p)-97;}
c[0]=min;
a[min]--;
poz++;
for (i=0;i<=max;i++)
	{if (a[i-1]&&i) i--;
	 if (c[poz-1]!=i && a[i]) {c[poz]=i;poz++;a[i]--;}
	 for (j=i+1;j<=max;j++)
		  if (c[poz-1]!=j && a[j]) {c[poz]=j;poz++;a[j]--;break;}
	}
for (i=0;i<poz;i++) g<<char(c[i]+97);
return 0;
}