Cod sursa(job #673711)

Utilizator ciuscatalincius catalin ciuscatalin Data 4 februarie 2012 20:17:35
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
# include <fstream>
using namespace std;
ifstream f ("ordine.in");
ofstream g ("ordine.out");
int ul,ok,k,i,n,a[300];
char b[1000005];
int main ()
{
	f.getline (b,1000005);
	n=strlen (b);
	for (i=0;i<n;i++)
		a[b[i]]++;
	ul=0;
	for (k=1;k<=n;k++)
	{
		ok=0;
		for (i='a';i<='z';i++)
			if (a[i]==((n-k+1)/2)+1)
			{
				g<<(char) i;
				ul=i;
				a[i]--;
				ok=1;
				break;
			}
		if (ok==0)
		for (i='a';i<='z';i++)
			if (a[i] && ul!=i)
			{
				g<<(char) i;
				ul=i;
				a[i]--;
				break;
			}
	}
	
	return 0;
}