Cod sursa(job #827140)
Utilizator | Data | 1 decembrie 2012 17:42:29 | |
---|---|---|---|
Problema | Ordine | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.67 kb |
#include <fstream>
int main(){
std::ifstream fin("ordine.in");
std::ofstream fout("ordine.out");
unsigned nrchars[26] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
char c; fin.get(c);
while(fin.good()&&c!='\n'){
nrchars[c-'a']++;
fin.get(c);
}
unsigned previd=100;
bool pr;
for(;;){
pr=false;
for(unsigned i=0;i<26;++i)
if(nrchars[i]&&i!=previd){
nrchars[i]--;
fout<<static_cast<char>(i+'a');
previd=i;
pr=true;
break;
}
if(!pr) break;
}
fout<<'\n';
}