Cod sursa(job #1724672)
Utilizator | Data | 3 iulie 2016 20:53:01 | |
---|---|---|---|
Problema | Ordine | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.7 kb |
#include <fstream>
using namespace std;
int frecv[26];
int main()
{
ifstream fin("ordine.in");
ofstream fout("ordine.out");
char c,last;
while(fin>>c)
frecv[c-'a']++;
int i=0,j=1;
while(i<26&&j<26) {
while(i<26&&!frecv[i])
i++;
j=i+1;
while(j<26&&!frecv[j]&&j<26)
j++;
if(i>=26||j>=26)
break;
if((char)(i+'a')==last) {
fout<<(char)(j+'a')<<(char)(i+'a');
last=(char)(i+'a');
}
else {
fout<<(char)(i+'a')<<(char)(j+'a');
last=(char)(j+'a');
}
frecv[i]--,frecv[j]--;
}
return 0;
}