Intercambio de Letras


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
C, C#, C++, Java, Pascal, Python, VB

A los azucareros del centro les gusta jugar con sus apellidos especialmente a Mary y a Juan. Juan tiene un apellido muy largo, su amiga Mary tiene un apellido de la misma longitud aunque diferente al de Juan. Sus apellidos contienen el mismo número de letras o sea el mismo número de letras A, el mismo número de letras B, y así sucesivamente. Uno de sus juegos favoritos es coger un número largo de pequeñas piezas de papel, escribir sucesivamente letras del apellido de Juan en ellas y entonces moverlas tal que se obtenga al final el apellido de Mary. Puesto que Juan ama los puzles, comenzó a preguntarse cuántos intercambios de letras adyacentes son necesarios para transformar su apellido en el de Mary. Escriba un programa que ayude a Juan.

Entrada

En la primera línea de la entrada hay un entero simple n (2 \leq n \leq 10^6) denotando la longitud del apellido de Juan. La segunda línea contiene el apellido de Juan, es decir contiene sus n sucesivas letras (si espacio). La tercera línea contiene el apellido de Mary con el mismo formato que la línea anterior. Ambas cadenas consisten solamente de letras mayúsculas del alfabeto inglés.

Salida

Su programa tiene que escribir en una línea simple un entero el cual representa el número mínimo de intercambios de letras adyacentes que se necesitan para transformar el apellido de Juan en el de Mary.

Ejemplo de Entrada

3                   
ABC
BCA

Ejemplo de Salida

2

Comments

There are no comments at the moment.