Cod sursa(job #349649)

Utilizator bog29Antohi Bogdan bog29 Data 20 septembrie 2009 20:25:43
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<fstream>
#define dmax 1000003
using namespace std;
ifstream in("ordine.in");
ofstream out("ordine.out");
int x[30],l;
char sir[dmax],u;
void scrie(int k,int nr)
{	int i,ok=0;
	if(k<l)
	{	for(i=0;i<nr;i++)
			if(x[i])
			{	u='a'+i;
				out<<u;
				x[i]--;
				ok=1;
				scrie(k+1,i);
			}
		if(x[nr]&&ok)
		{	u='a'+nr;
			out<<u;
			x[nr]--;
			scrie(k+1,nr);
		}	
	}		
}		
int main()
{	int i;
	in.getline(sir,dmax,'\n');
	in.close();
	l=strlen(sir);
	for(i=0;i<l;i++)
		x[sir[i]-'a']++;
	scrie(0,29);
	out.close();
	return 0;
}