¿Que debo hacer?

Descripción

En este problema se dispone de dos números enteros positivos n

 y m

, los cuales pueden tener como máximo 9 dígitos.

Suponga que se desean ordenar de manera ascendente los dígitos que componen cada número n

 o m

, pero la única operación permitida es el intercambio de dígitos en posiciones adyacentes. Es decir, si n=1243

 y realizamos el intercambio de los dígitos 4

<->3

, que están juntos o en posiciones adyacentes, el resultado sería n=1234

, y los dígitos se ordenarían.

Ahora bien para otro caso, con n=321

, NO ESTA PERMITIDO el intercambio entre los dígitos 3

<->1

, porque no se encuentran en posiciones adyacentes. La solución en este caso consiste en realizar 3 intercambios de los dígitos en el siguiente orden: 3

<->2

, 3

<->1

 y 2

<->1

, y de este esta manera los dígitos de n

 se ordenan de manera ascendente 123

.

Entrada

En la primera línea se muestra el número n

 y el número m

, separados por un espacio.

Salida

El número n

 y m

 se deben imprimir en una línea por separado,incluyendo un guión (-) y posteriormente el número mínimo de intercambios necesarios para ordenar sus dígitos de manera ascendente.

En la primera línea se debe imprimir el número n

 ó m

, que necesita la menor cantidad de intercambios, y en la segunda línea el número que requiere la mayor cantidad de intercambios. Si ambos números requieren la misma cantidad de intercambios, se debe imprimir en la primera línea el número n

.

Ejemplo

Entrada 

321 132

Salida

132-1

321-3

Actualizar:

Lo intente con arreglos pero no puedo ordenarlos.

PROGRAMA EN C

1 respuesta

Calificación
¿Aún tienes preguntas? Pregunta ahora y obtén respuestas.