Hmmm... it seems that n=63 is a special case.
[EMAIL PROTECTED] wrote:
Yes, there is a solution for n=99 and for n=100 for that matter --
which can be found under one second. I only had to make a trivial
modification to the previously posted code
tour n k s b | k > n*n = return b
| otherwise = do next <- (foldr mplus mzero).map return $
successors n b s
tour n (k+1) next $ insrt next k b
I replaced foldl1 mplus with foldr mplus zero.
The old version sees no solution to n=63 quite quickly:
time nice ./fromwiki-63 63
fromwiki-63: Prelude.foldl1: empty list
real 0m0.285s
user 0m0.172s
sys 0m0.026s
The version with the 'tour' given above does not halt after running up to 0.4 GB
of RAM, so I killed it.
Though having no solution may be tied to starting in the corner.
--
Chris
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe