Pagini recente » Cod sursa (job #2072097) | Cod sursa (job #176354) | Cod sursa (job #1825481) | Cod sursa (job #1246025) | Cod sursa (job #325445)
Cod sursa(job #325445)
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
char a[10000];
int sor[10000],k,i,j,nr;
struct buck
{ int s[10001];
} b[40];
int main()
{
freopen("litere.in","r",stdin);
freopen("litere.out","w",stdout);
scanf("%s",a+1);
k=strlen(a+1);
for(i=k;i>=1;--i) b[a[i]-96].s[++b[a[i]-96].s[0]]=i;
for(i=1;i<40;i++) if(b[i].s[0]) for(j=b[i].s[0];j>=1;--j) sor[++nr]=b[i].s[j];
nr=0;
for(i=1;i<=k;i++) {nr+=sor[i]-i;
for(j=i+1;j<=k;j++) if(sor[j]<sor[i]) sor[j]++;
}
printf("%d\n",nr);
fclose(stdin);
fclose(stdout);
return 0;
}