Cod sursa(job #481696)

Utilizator vladtarniceruVlad Tarniceru vladtarniceru Data 1 septembrie 2010 13:11:31
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
# include <fstream>
# include <cstring>
using namespace std;
    const char IN[] = "ordine.in";
	const char OUT[]= "ordine.out";
	int a[30], u, d, len, i;
	char c;
	int main (){
		ifstream f (IN);
		for (;f>>c;++len) ++a[c-'a'+1];
		ofstream g (OUT);
		for (i=1;a[i]==0;++i);
		u=i;
		for (++i;a[i]==0;++i);
		d=i;
		while (len){
			while (a[u] && a[d]){
				g<<(char)(u+'a'-1)<<(char)(d+'a'-1);
				--a[u];
				--a[d];
				len-=2;
			}
			if (!a[u]){
				//u=d;//cauti un d nou
				i=u+1;
				while (a[i]==0 || i==d) 
					++i;
				u=i;
			}
			if (!a[d]){
				i=d+1;
				while (a[i]==0 || i==u) 
					++i;
			}
		}
		g<<'\n';
		g.close ();
		return 0;
	}