Pagini recente » Cod sursa (job #2529200) | Cod sursa (job #1403081) | Cod sursa (job #592088) | Cod sursa (job #1841601) | Cod sursa (job #248160)
Cod sursa(job #248160)
#include<stdio.h>
#include<iostream>
#include<string.h>
using namespace std;
char c[257],v[10000],v1[10000];
int n;
void citire()
{
int j=1;
cin>>n;
for(int i=1;i<=n+1;++i)
cin.get(c[i]);
for(int i=97;i<=122;++i && ++j)
v[j]=i;
}
void cautare()
{
int p=2;
for(int j=1;j<=25;++j)
for(int i=2;i<=n+1;++i)
if(v[j]==c[i])
{
v1[p]=c[i];
++p;
}
}
void cautare_2()
{
char aux,aux1;
int mutari=0,j=2,cp;
for(int i=2;i<=n+1;++i)
for(;j<=i;j++)
{
if(c[j]!=v1[i])
{
for(int p=j+1;p<=n+1;++p)
if(c[p]==v1[i])
{
if(p==j+1)
{
aux=c[j];
c[j]=v1[i];
c[p]=aux;
}
else if(p>j+1)
{
aux=c[j];
c[j]=v1[i];
c[p]=0;
cp=p;
for(int r=p-1;r>=j;--r)
c[cp--]=c[r];
c[j+1]=aux;
}
mutari+=p-j;
break;
}
}
}
cout<<mutari;
}
int main()
{
freopen("litere.in","r",stdin);
freopen("litere.out","w",stdout);
citire();
cautare();
cautare_2();
return 0;
}