Esta pregunta se basa en gran medida en esta pregunta , pero debería plantear una serie de dificultades adicionales.
Tu tarea
Debe escribir un programa o función que, al recibir una cadena, imprima todos los anagramas posibles de la misma. A los fines de esta pregunta, un anagrama es una cadena que contiene el mismo carácter que la cadena original, pero no es la cadena original. Un subanagrama es un anagrama de una subcadena de una cadena ingresada. Los anagramas y subanagramas no tienen que ser o contener palabras reales.
Entrada
Puede aceptar una cadena, que puede ser de cualquier longitud> 0, por cualquier método de entrada estándar. Puede contener caracteres ASCII.
Salida
Puede generar todos los anagramas y subanagramas posibles de la cadena ingresada de cualquier manera estándar. No debe generar la misma cadena dos veces, ni generar una cadena igual a la entrada.
Otras reglas
Las lagunas estándar no están permitidas
Puntuación
Este es el código de golf , gana menos bytes.