Ordenando una Secuencia de Tres Valores.
Ordenar es una de las tareas computacionales más frecuentes. Considere el problema de ordenamiento especial en el que los registros a ordenar tienen como máximo tres valores clave diferentes. Esto ocurre, por ejemplo, cuando ordenamos a los medallistas de una competición según su valor de medalla; es decir, los medallistas de oro van primero, seguidos de los de plata y los de bronce al final.
En esta tarea, los posibles valores clave son los enteros y
. El orden de ordenamiento requerido no es decreciente. Sin embargo, la ordenación debe realizarse mediante una secuencia de operaciones de intercambio. Una operación de intercambio, definida por dos números de posición
y
, intercambia los elementos en las posiciones
y
.
Se le proporciona una secuencia de valores clave. Escriba un programa que calcule el número mínimo de operaciones de intercambio necesarias para ordenar la secuencia.
Entrada
- Línea 1:
, el número de registros a ordenar
- Líneas 2-N+1: Un entero del conjunto
Salida
Una sola línea que contiene el número de intercambios requeridos.
Ejemplo de Entrada
9
2
2
1
3
3
3
2
3
1
Ejemplo de Salida
4
IOI'96 - Día 2
Comments