Cod sursa(job #699078)

Utilizator 5t3fristea stefan 5t3f Data 29 februarie 2012 17:26:08
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
// ordine.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "fstream"
#include "cstring"
#include "string"
#include "algorithm"
using namespace std;
int main()
{
	ifstream f("ordine.in");
	ofstream g("ordine.out");
	char sir[1000000];
	int lung;
	int aparitii[30];
	f>>sir;
	int i;
	lung=(int) strlen(sir);
	for(i=0;i<30;i++)
		aparitii[i]=0;
	for(i=0;i<lung;i++)
		aparitii[sir[i]-97]++;
	int ultim;
	ultim=-1;
	for(i=0;i<lung;i++)
	{
		int j;
		int max=0,poz;
		if(i%2==0)
		{
			for(j=0;j<27;j++)
				if((aparitii[j])&&(j!=ultim))
				{
					ultim=j;
					g<<(char)(j+97);
					aparitii[j]--;
					break;
				}
		}
		else
		{
			for(j=0;j<27;j++)
				if((aparitii[j]>max)&&(j!=ultim))
				{
					max=aparitii[j];
					poz=j;
				}
			g<<(char)(poz+97);
			ultim=poz;
			aparitii[poz]--;
		}
	}
	return 0;
}