@x if (spacing && (count mod spacing==0)) { printf(""O"lld:\n",count); for (k=0;k; fflush(stdout); } @y if (spacing && (count mod spacing==0)) { register c,h,i,j,m=0,n=0,p,q,t,xa,xb,yc,yd,sum=0,x,y; printf(""O"lld:",count); for (k=0;k; printf("\n"); fflush(stdout); } @z @x @*Index. @y @ @= char board[64][64]; @ There are 8 possible symmetries, either \$xy\$ or (if \$m=n\$) \$yx\$, with optional bars in each coordinate. @d xbar t&2? m-1-x: x /* complement |x| if |t| has its 2-bit on */ @d xbr t&2? m-x: x-1 /* complement |x-1| if |t| has its 2-bit on */ @d ybar t&1? n-1-y: y /* complement |y| if |t| has its 1-bit on */ @d ybr t&1? n-y: y-1 /* complement |y-1| if |t| has its 1-bit on */ @= for (t=1;t<(m==n? 8: 4);t++) { for (x=1;x= void confusion(char *s) { fprintf(stderr,"I'm confused: %s!\n", s); } @ @= int decode(char c) { if (c<='9') { if (c>='0') return c-'0'; }@+else if (c>='a') { if (c<='z') return c+10-'a'; }@+else if (c>='A' && c<='Z') return c+36-'A'; else confusion("bad code"); } @*Index. @z