Cod sursa(job #248136)

Utilizator drag0s93Mandu Dragos drag0s93 Data 24 ianuarie 2009 22:35:39
Problema Litere Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#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;
	int mutari=0,j=2;
	for(int i=2;i<=n+1;++i)
		for(;j<=i;j++)
		{
			if(c[j]!=v1[i])
			{
				for(int p=j+1;p<=n;++p)
					if(c[p]==v1[j])
					{
						aux=c[p];
						c[p]=c[j];
						c[j]=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;
}