De uno a ene (4)

Haced un programa que escriba las permutaciones de {1, …, n} con un
ciclo exactamente. Suponed que el contenido de la posición i indica “la
siguiente posición que hay que visitar”.

Por ejemplo, considerad la permutación (4, 3, 2, 5, 1, 7, 6). En la
posición 1 hay un 4, en la posición 4 hay un 5, y en la 5 hay un 1. Así
pues, uno de los ciclos de esta permutación es 1 → 4 → 5 → 1 (tiene dos
ciclos más). En canvio, la permutación (3, 4, 5, 6, 7, 1, 2) sólo tiene
un ciclo: 1 → 3 → 5 → 7 → 2 → 4 → 6 → 1.

Para hacer el problema más interesante, algunas posiciones ya estarán
fijadas. Usaremos n valores para indicarlo: las posiciones libres
tendrán un 0, y las otras el valor ya fijado.

Entrada

La entrada consiste en un natural n > 0 seguido de los n valores para
las posiciones fijadas.

Salida

Escribid todas las permutaciones de {1, …, n} con un único ciclo que
tienen las posiciones fijadas dadas. Siempre habrá al menos una
solución.

Información sobre el corrector

Podéis escribir las soluciones de este ejercio en cualquier orden.

Información del problema

Autoría: Unknown
Traducción: Salvador Roura

Generación: 2026-01-25T11:15:11.931Z

© Jutge.org, 2006–2026.
https://jutge.org
