Solución para el periplo del caballo. 19º IOCCC. Best Small Program

¿Es usted capaz de desplazar un caballo sobre un tablero de ajedrez y visitar los 64 escaques sin repetir ninguno?
Si no, este programa resuelve el rompecabezas, solo ejecutelo con un argumento que indica la posición inicial.
        prog 11         (el inicio es A8)
        prog 18         (el inicio es H8)
        prog 81         (el inicio es A1)
        prog 88         (el inicio es H1)
        prog 44         (el inicio es D5)
Como salida mostrará el orden de movimientos. El algoritmo es tan simple que usted puede leerlo en el código fuente, aunque al principio pueda parecer escaqueado :-) pero no desmaye, je, je.
Este es el código fuente, escrito en lenguaje C:
char    *e,t    [366    ],*f
,*g,    *h,*    i;d,    m  ;
    main    (c,b)   char    **b;{
    for(    ;d[t]   =d%3    ?60<d
&300    >d&6    <d %    30?0
:32:    d%30    ?32:    10 ,
    366>    ++d;)   ;for    (g=3*
    atoi    (*++    b) +    34+t;
i=f=    "\1"    "\7"    "(d"
"\177"  "yX"    "\34"   ,e=g
    ;  )    for(    *e++    =++m/
    10 +    48,g    =c=0    ,*e =
48+m    %10;    h=e-    65+*
i,d=    *h,*    i++;    f-=8
    ,g=d    <c?c    =d,h:   g)for
    (; d    -=!!    h[*f    ++-64
    ],*f    ;) ;    puts    (t);}
Decodificar este programa es un verdadero desafío para cualquier estudioso del lenguaje C.

Como compilarlo

Descargue el código fuente desde aquí.
Para compilar teclee:
    cc toledo1.c -o toledo1

Ligas útiles

Última modificación: 11-feb-2013