Cod sursa(job #1799035)
Utilizator | Data | 5 noiembrie 2016 18:01:38 | |
---|---|---|---|
Problema | Ordine | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.6 kb |
#include<fstream>
using namespace std;
ifstream f("ordine.in");
ofstream g("ordine.out");
int a[26],n,i,x,y;
char c,z;
int main()
{
while(f>>c)
a[c-'a']++,n++;
c='.';
while(n)
{
y=1;
for(i=0;i<26;i++)
{
if(a[i]&&char(97+i)!=c&&y) x=i,z=char(97+i),y=0;
if(a[i]>=n/2+1)
{
x=i;
z=char(97+i);
break;
}
}
if(z!=c)
{
g<<z;
n--;
c=z;
a[x]--;
}
}
return 0;
}