A-Puzzle-A-Day solver: shapes placement on calendar board

DOWNLOAD-DESKTOP-NOTEBOOK.nb (8.51 MB)

3 Likes

news-congrads-kkluyshnik-02-04-19.jpg – you have earned Featured Contributor Badge 2015-11-02_10-07-11.png
Your exceptional post has been selected for our editorial column Staff Picks http://wolfr.am/StaffPicks and Your Profile is now distinguished by a Featured Contributor Badge and is displayed on the Featured Contributor Board. Thank you!

3 Likes

Hi Kotaro, looks like we have another case of similar interest.

I wrote about solving this puzzle about a year ago:

“Solving MoMath’s A-Puzzle-A-Day by DragonFjord”

Best wishes and have fun.

2 Likes

Brad-san,

I’m sorry I missed your amazing post! Your implementation is significantly faster than mine. I also found the same number of solutions for 366 days: 24405.

1 Like

No apology necessary. The FindExactCover code is actually slow, because as an algorithm, Dancing Links is in one of Mathematica’s worst-performing efficiency classes.

In compiled languages, the Dancing Links algorithm runs much faster. It relies on chaining together a lot of simple, low-cost pointer transformations, which are not very intensive on the hardware itself.

It would be interesting to see how much faster, for example, a golang implementation would be, and the code is already available online. I would do it myself, but no one pays me anymore, and I’ve now got a bad case of the Realトルキア Blues.

If no one other than you appreciates my work, sorry, my time would be better spent chanting Dharanis all day all week all month all year… Maybe then I could get a job with Yoko Kanno?

1 Like