{"id":218,"date":"2006-03-10T22:12:35","date_gmt":"2006-03-11T06:12:35","guid":{"rendered":"http:\/\/multimedia.cx\/eggs\/?p=218"},"modified":"2006-03-11T12:05:38","modified_gmt":"2006-03-11T20:05:38","slug":"beaten-by-a-puzzle","status":"publish","type":"post","link":"https:\/\/multimedia.cx\/eggs\/beaten-by-a-puzzle\/","title":{"rendered":"Beaten By A Puzzle"},"content":{"rendered":"<p>It pains me to admit that I couldn&#8217;t even produce a computer program capable of solving a <a href=\"http:\/\/multimedia.cx\/eggs\/category\/pickover-puzzles\/\">Pickover puzzle<\/a> (<strong>update:<\/strong> But Aurel Jacobs could; read on). This is another graph traversal puzzle. The setup is that you have an 8&#215;9 graph with 8 blocked nodes:<\/p>\n<p><center><\/p>\n<pre>\r\n* * * * * * * *\r\n* X * * * * * *\r\n* * * X * X * *\r\n* * * * * * * *\r\n* * X * * * * *\r\n* * * * * * * *\r\n* X * * * * * *\r\n* * * X * * * *\r\n* * X X * * * *\r\n<\/pre>\n<p><\/center><\/p>\n<p>Find a path that begins and ends on the same node that covers every unblocked square without crossing itself and moving only vertically or horizontally.<\/p>\n<p><!--more--><\/p>\n<p>I started with the brute-force, depth-first graph traversal code from the <a href=\"http:\/\/multimedia.cx\/eggs\/graph-traversal-puzzle\/\">February 26<\/a> puzzle. I modified it and tested it to perform the specified puzzle task, but for a 3&#215;3 graph with the middle node blocked out. The program performs correctly and produces some pretty ASCII output, if I do say so myself:<\/p>\n<pre>\r\nsolution 1:\r\n v &lt; &lt;\r\n v X ^\r\n &gt; &gt; ^\r\n\r\nsolution 2:\r\n &gt; &gt; v\r\n ^ X v\r\n ^ &lt; &lt;\r\n<\/pre>\n<p>For some reason, the program can&#8217;t solve the full puzzle, and it takes 15+ minutes on my AMD64-3400 CPU to chew through all possible paths. The puzzle does show a solution on the back of the day&#8217;s calendar page (which I do not have with me at the moment, unfortunately). I&#8217;m not especially motivated to keep working at this one since it takes so long to traverse all paths.<\/p>\n<p>I&#8217;m disappointed. Here&#8217;s the code anyway:<\/p>\n<p><strong>UPDATE:<\/strong> Forget my code, Aurel Jacobs came up with a workable solution that only takes about 82 seconds on my machine to find a solution. Here is the solution his program found:<\/p>\n<p><center><\/p>\n<pre>\r\n&gt; &gt; &gt; &gt; &gt; v &gt; v\r\no X v &lt; &lt; &gt; ^ v\r\n^ v &lt; X ^ X v &lt;\r\n^ &gt; &gt; v ^ &lt; &gt; v\r\n^ &lt; X &gt; v ^ &lt; &lt;\r\n&gt; ^ v &lt; &gt; &gt; &gt; v\r\n^ X v ^ &lt; v &lt; &lt;\r\n^ v &lt; X ^ &gt; &gt; v\r\n^ &lt; X X ^ &lt; &lt; &lt;\r\n<\/pre>\n<p><\/center><\/p>\n<p>Here is his code:<\/p>\n<pre>\r\n\r\n#include <font COLOR=BLUE SIZE=+1>&lt;<\/font>stdio<font COLOR=BLUE SIZE=+1><b>.<\/b><\/font>h<font COLOR=BLUE SIZE=+1>&gt;<\/font>\r\n\r\n#define GRID_W <font COLOR=BROWN>8<\/font>\r\n#define GRID_H <font COLOR=BROWN>9<\/font>\r\n\r\n<font COLOR=RED><b>static<\/b><\/font> <font COLOR=RED><b>char<\/b><\/font> grid<font COLOR=BLUE SIZE=+1><b>[<\/b><\/font>GRID_H<font COLOR=BLUE SIZE=+1><b>]<\/b><\/font><font COLOR=BLUE SIZE=+1><b>[<\/b><\/font>GRID_W<font COLOR=BLUE SIZE=+1><b>]<\/b><\/font> <font COLOR=BLUE SIZE=+1>=<\/font>\r\n  <font COLOR=BLUE SIZE=+1><b>{<\/b><\/font> <font COLOR=BLUE SIZE=+1><b>{<\/b><\/font>'<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>}<\/b><\/font><font COLOR=BLUE SIZE=+1><b>,<\/b><\/font>\r\n    <font COLOR=BLUE SIZE=+1><b>{<\/b><\/font>'<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> 'X'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>}<\/b><\/font><font COLOR=BLUE SIZE=+1><b>,<\/b><\/font>\r\n    <font COLOR=BLUE SIZE=+1><b>{<\/b><\/font>'<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> 'X'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> 'X'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>}<\/b><\/font><font COLOR=BLUE SIZE=+1><b>,<\/b><\/font>\r\n    <font COLOR=BLUE SIZE=+1><b>{<\/b><\/font>'<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>}<\/b><\/font><font COLOR=BLUE SIZE=+1><b>,<\/b><\/font>\r\n    <font COLOR=BLUE SIZE=+1><b>{<\/b><\/font>'<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> 'X'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>}<\/b><\/font><font COLOR=BLUE SIZE=+1><b>,<\/b><\/font>\r\n    <font COLOR=BLUE SIZE=+1><b>{<\/b><\/font>'<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>}<\/b><\/font><font COLOR=BLUE SIZE=+1><b>,<\/b><\/font>\r\n    <font COLOR=BLUE SIZE=+1><b>{<\/b><\/font>'<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> 'X'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>}<\/b><\/font><font COLOR=BLUE SIZE=+1><b>,<\/b><\/font>\r\n    <font COLOR=BLUE SIZE=+1><b>{<\/b><\/font>'<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> 'X'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>}<\/b><\/font><font COLOR=BLUE SIZE=+1><b>,<\/b><\/font>\r\n    <font COLOR=BLUE SIZE=+1><b>{<\/b><\/font>'<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> 'X'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> 'X'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>}<\/b><\/font> <font COLOR=BLUE SIZE=+1><b>}<\/b><\/font><font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n\r\n<font COLOR=RED><b>static<\/b><\/font> <font COLOR=RED><b>void<\/b><\/font> disp <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font><font COLOR=RED><b>void<\/b><\/font><font COLOR=BLUE SIZE=+1><b>)<\/b><\/font>\r\n<font COLOR=BLUE SIZE=+1><b>{<\/b><\/font>\r\n  <font COLOR=RED><b>int<\/b><\/font> x<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> y<font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n\r\n  <font COLOR=RED><b>for<\/b><\/font> <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font>y<font COLOR=BLUE SIZE=+1>=<\/font><font COLOR=BROWN>0<\/font><font COLOR=BLUE SIZE=+1><b>;<\/b><\/font> y<font COLOR=BLUE SIZE=+1>&lt;<\/font>GRID_H<font COLOR=BLUE SIZE=+1><b>;<\/b><\/font> y<font COLOR=BLUE SIZE=+1><\/font><font COLOR=BLUE SIZE=+1>+<\/font><font COLOR=BLUE SIZE=+1>+<\/font><font COLOR=BLUE SIZE=+1><b>)<\/b><\/font>\r\n    <font COLOR=BLUE SIZE=+1><b>{<\/b><\/font>\r\n      <font COLOR=RED><b>for<\/b><\/font> <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font>x<font COLOR=BLUE SIZE=+1>=<\/font><font COLOR=BROWN>0<\/font><font COLOR=BLUE SIZE=+1><b>;<\/b><\/font> x<font COLOR=BLUE SIZE=+1>&lt;<\/font>GRID_W<font COLOR=BLUE SIZE=+1><b>;<\/b><\/font> x<font COLOR=BLUE SIZE=+1><\/font><font COLOR=BLUE SIZE=+1>+<\/font><font COLOR=BLUE SIZE=+1>+<\/font><font COLOR=BLUE SIZE=+1><b>)<\/b><\/font>\r\n        printf <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font><font COLOR=PURPLE>\"%c \"<\/font><font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> grid<font COLOR=BLUE SIZE=+1><b>[<\/b><\/font>y<font COLOR=BLUE SIZE=+1><b>]<\/b><\/font><font COLOR=BLUE SIZE=+1><b>[<\/b><\/font>x<font COLOR=BLUE SIZE=+1><b>]<\/b><\/font><font COLOR=BLUE SIZE=+1><b>)<\/b><\/font><font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n      printf <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font><font COLOR=PURPLE>\"\\n\"<\/font><font COLOR=BLUE SIZE=+1><b>)<\/b><\/font><font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n    <font COLOR=BLUE SIZE=+1><b>}<\/b><\/font>\r\n<font COLOR=BLUE SIZE=+1><b>}<\/b><\/font>\r\n\r\n<font COLOR=RED><b>static<\/b><\/font> <font COLOR=RED><b>int<\/b><\/font> nb_node <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font><font COLOR=RED><b>void<\/b><\/font><font COLOR=BLUE SIZE=+1><b>)<\/b><\/font>\r\n<font COLOR=BLUE SIZE=+1><b>{<\/b><\/font>\r\n  <font COLOR=RED><b>int<\/b><\/font> x<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> y<font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n  <font COLOR=RED><b>int<\/b><\/font> count <font COLOR=BLUE SIZE=+1>=<\/font> <font COLOR=BROWN>0<\/font><font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n  <font COLOR=RED><b>for<\/b><\/font> <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font>y<font COLOR=BLUE SIZE=+1>=<\/font><font COLOR=BROWN>0<\/font><font COLOR=BLUE SIZE=+1><b>;<\/b><\/font> y<font COLOR=BLUE SIZE=+1>&lt;<\/font>GRID_H<font COLOR=BLUE SIZE=+1><b>;<\/b><\/font> y<font COLOR=BLUE SIZE=+1><\/font><font COLOR=BLUE SIZE=+1>+<\/font><font COLOR=BLUE SIZE=+1>+<\/font><font COLOR=BLUE SIZE=+1><b>)<\/b><\/font>\r\n\r\n    <font COLOR=RED><b>for<\/b><\/font> <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font>x<font COLOR=BLUE SIZE=+1>=<\/font><font COLOR=BROWN>0<\/font><font COLOR=BLUE SIZE=+1><b>;<\/b><\/font> x<font COLOR=BLUE SIZE=+1>&lt;<\/font>GRID_W<font COLOR=BLUE SIZE=+1><b>;<\/b><\/font> x<font COLOR=BLUE SIZE=+1><\/font><font COLOR=BLUE SIZE=+1>+<\/font><font COLOR=BLUE SIZE=+1>+<\/font><font COLOR=BLUE SIZE=+1><b>)<\/b><\/font>\r\n      <font COLOR=RED><b>if<\/b><\/font> <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font>grid<font COLOR=BLUE SIZE=+1><b>[<\/b><\/font>y<font COLOR=BLUE SIZE=+1><b>]<\/b><\/font><font COLOR=BLUE SIZE=+1><b>[<\/b><\/font>x<font COLOR=BLUE SIZE=+1><b>]<\/b><\/font> <font COLOR=BLUE SIZE=+1>=<\/font><font COLOR=BLUE SIZE=+1>=<\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>)<\/b><\/font>\r\n        count<font COLOR=BLUE SIZE=+1><\/font><font COLOR=BLUE SIZE=+1>+<\/font><font COLOR=BLUE SIZE=+1>+<\/font><font COLOR=BLUE SIZE=+1><b>;<\/b><\/font><font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n  <font COLOR=RED><b>return<\/b><\/font> count<font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n<font COLOR=BLUE SIZE=+1><b>}<\/b><\/font>\r\n\r\n<font COLOR=RED><b>static<\/b><\/font> <font COLOR=RED><b>int<\/b><\/font> check <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font><font COLOR=RED><b>int<\/b><\/font> x<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> <font COLOR=RED><b>int<\/b><\/font> y<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> <font COLOR=RED><b>int<\/b><\/font> n<font COLOR=BLUE SIZE=+1><b>)<\/b><\/font>\r\n<font COLOR=BLUE SIZE=+1><b>{<\/b><\/font>\r\n  <font COLOR=RED><b>int<\/b><\/font> ret <font COLOR=BLUE SIZE=+1>=<\/font> <font COLOR=BROWN>1<\/font><font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n\r\n  <font COLOR=RED><b>if<\/b><\/font> <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font>grid<font COLOR=BLUE SIZE=+1><b>[<\/b><\/font>y<font COLOR=BLUE SIZE=+1><b>]<\/b><\/font><font COLOR=BLUE SIZE=+1><b>[<\/b><\/font>x<font COLOR=BLUE SIZE=+1><b>]<\/b><\/font> <font COLOR=BLUE SIZE=+1>!<\/font><font COLOR=BLUE SIZE=+1>=<\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>)<\/b><\/font>\r\n    <font COLOR=RED><b>return<\/b><\/font> <font COLOR=BROWN>0<\/font><font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n\r\n  grid<font COLOR=BLUE SIZE=+1><b>[<\/b><\/font>y<font COLOR=BLUE SIZE=+1><b>]<\/b><\/font><font COLOR=BLUE SIZE=+1><b>[<\/b><\/font>x<font COLOR=BLUE SIZE=+1><b>]<\/b><\/font> <font COLOR=BLUE SIZE=+1>=<\/font> 'o'<font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n\r\n  <font COLOR=RED><b>if<\/b><\/font> <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font><font COLOR=BLUE SIZE=+1><\/font><font COLOR=BLUE SIZE=+1>-<\/font><font COLOR=BLUE SIZE=+1>-<\/font>n <font COLOR=BLUE SIZE=+1>&lt;<\/font><font COLOR=BLUE SIZE=+1>=<\/font> <font COLOR=BROWN>0<\/font><font COLOR=BLUE SIZE=+1><b>)<\/b><\/font>\r\n    <font COLOR=RED><b>return<\/b><\/font> <font COLOR=BROWN>1<\/font><font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n  <font COLOR=RED><b>if<\/b><\/font> <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font>x <font COLOR=BLUE SIZE=+1>&gt;<\/font> <font COLOR=BROWN>0<\/font> <font COLOR=BLUE SIZE=+1><\/font><font COLOR=BLUE SIZE=+1>&amp;<\/font><font COLOR=BLUE SIZE=+1>&amp;<\/font> check <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font>x<font COLOR=BLUE SIZE=+1>-<\/font><font COLOR=BROWN>1<\/font><font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> y<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> n<font COLOR=BLUE SIZE=+1><b>)<\/b><\/font><font COLOR=BLUE SIZE=+1><b>)<\/b><\/font>\r\n    grid<font COLOR=BLUE SIZE=+1><b>[<\/b><\/font>y<font COLOR=BLUE SIZE=+1><b>]<\/b><\/font><font COLOR=BLUE SIZE=+1><b>[<\/b><\/font>x<font COLOR=BLUE SIZE=+1><b>]<\/b><\/font> <font COLOR=BLUE SIZE=+1>=<\/font> '<font COLOR=BLUE SIZE=+1>&lt;<\/font>'<font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n  <font COLOR=RED><b>else<\/b><\/font> <font COLOR=RED><b>if<\/b><\/font> <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font><font COLOR=BLUE SIZE=+1><b>(<\/b><\/font>x <font COLOR=BLUE SIZE=+1>&lt;<\/font> GRID_W<font COLOR=BLUE SIZE=+1>-<\/font><font COLOR=BROWN>1<\/font><font COLOR=BLUE SIZE=+1><b>)<\/b><\/font> <font COLOR=BLUE SIZE=+1><\/font><font COLOR=BLUE SIZE=+1>&amp;<\/font><font COLOR=BLUE SIZE=+1>&amp;<\/font> check <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font>x<font COLOR=BLUE SIZE=+1>+<\/font><font COLOR=BROWN>1<\/font><font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> y<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> n<font COLOR=BLUE SIZE=+1><b>)<\/b><\/font><font COLOR=BLUE SIZE=+1><b>)<\/b><\/font>\r\n    grid<font COLOR=BLUE SIZE=+1><b>[<\/b><\/font>y<font COLOR=BLUE SIZE=+1><b>]<\/b><\/font><font COLOR=BLUE SIZE=+1><b>[<\/b><\/font>x<font COLOR=BLUE SIZE=+1><b>]<\/b><\/font> <font COLOR=BLUE SIZE=+1>=<\/font> '<font COLOR=BLUE SIZE=+1>&gt;<\/font>'<font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n  <font COLOR=RED><b>else<\/b><\/font> <font COLOR=RED><b>if<\/b><\/font> <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font><font COLOR=BLUE SIZE=+1><b>(<\/b><\/font>y <font COLOR=BLUE SIZE=+1>&gt;<\/font> <font COLOR=BROWN>0<\/font><font COLOR=BLUE SIZE=+1><b>)<\/b><\/font> <font COLOR=BLUE SIZE=+1><\/font><font COLOR=BLUE SIZE=+1>&amp;<\/font><font COLOR=BLUE SIZE=+1>&amp;<\/font> check <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font>x<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> y<font COLOR=BLUE SIZE=+1>-<\/font><font COLOR=BROWN>1<\/font><font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> n<font COLOR=BLUE SIZE=+1><b>)<\/b><\/font><font COLOR=BLUE SIZE=+1><b>)<\/b><\/font>\r\n    grid<font COLOR=BLUE SIZE=+1><b>[<\/b><\/font>y<font COLOR=BLUE SIZE=+1><b>]<\/b><\/font><font COLOR=BLUE SIZE=+1><b>[<\/b><\/font>x<font COLOR=BLUE SIZE=+1><b>]<\/b><\/font> <font COLOR=BLUE SIZE=+1>=<\/font> '<font COLOR=BLUE SIZE=+1>^<\/font>'<font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n  <font COLOR=RED><b>else<\/b><\/font> <font COLOR=RED><b>if<\/b><\/font> <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font><font COLOR=BLUE SIZE=+1><b>(<\/b><\/font>y <font COLOR=BLUE SIZE=+1>&lt;<\/font> GRID_H<font COLOR=BLUE SIZE=+1>-<\/font><font COLOR=BROWN>1<\/font><font COLOR=BLUE SIZE=+1><b>)<\/b><\/font> <font COLOR=BLUE SIZE=+1><\/font><font COLOR=BLUE SIZE=+1>&amp;<\/font><font COLOR=BLUE SIZE=+1>&amp;<\/font> check <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font>x<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> y<font COLOR=BLUE SIZE=+1>+<\/font><font COLOR=BROWN>1<\/font><font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> n<font COLOR=BLUE SIZE=+1><b>)<\/b><\/font><font COLOR=BLUE SIZE=+1><b>)<\/b><\/font>\r\n    grid<font COLOR=BLUE SIZE=+1><b>[<\/b><\/font>y<font COLOR=BLUE SIZE=+1><b>]<\/b><\/font><font COLOR=BLUE SIZE=+1><b>[<\/b><\/font>x<font COLOR=BLUE SIZE=+1><b>]<\/b><\/font> <font COLOR=BLUE SIZE=+1>=<\/font> 'v'<font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n  <font COLOR=RED><b>else<\/b><\/font>\r\n    <font COLOR=BLUE SIZE=+1><b>{<\/b><\/font>\r\n      grid<font COLOR=BLUE SIZE=+1><b>[<\/b><\/font>y<font COLOR=BLUE SIZE=+1><b>]<\/b><\/font><font COLOR=BLUE SIZE=+1><b>[<\/b><\/font>x<font COLOR=BLUE SIZE=+1><b>]<\/b><\/font> <font COLOR=BLUE SIZE=+1>=<\/font> '<font COLOR=BLUE SIZE=+1>*<\/font>'<font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n      ret <font COLOR=BLUE SIZE=+1>=<\/font> <font COLOR=BROWN>0<\/font><font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n    <font COLOR=BLUE SIZE=+1><b>}<\/b><\/font>\r\n\r\n  <font COLOR=RED><b>return<\/b><\/font> ret<font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n<font COLOR=BLUE SIZE=+1><b>}<\/b><\/font>\r\n\r\n<font COLOR=RED><b>int<\/b><\/font> main <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font><font COLOR=RED><b>void<\/b><\/font><font COLOR=BLUE SIZE=+1><b>)<\/b><\/font>\r\n<font COLOR=BLUE SIZE=+1><b>{<\/b><\/font>\r\n  <font COLOR=RED><b>int<\/b><\/font> x<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> y<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> n<font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n\r\n  n <font COLOR=BLUE SIZE=+1>=<\/font> nb_node <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font><font COLOR=BLUE SIZE=+1><b>)<\/b><\/font><font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n\r\n  <font COLOR=RED><b>for<\/b><\/font> <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font>y<font COLOR=BLUE SIZE=+1>=<\/font><font COLOR=BROWN>0<\/font><font COLOR=BLUE SIZE=+1><b>;<\/b><\/font> y<font COLOR=BLUE SIZE=+1>&lt;<\/font>GRID_H<font COLOR=BLUE SIZE=+1><b>;<\/b><\/font> y<font COLOR=BLUE SIZE=+1><\/font><font COLOR=BLUE SIZE=+1>+<\/font><font COLOR=BLUE SIZE=+1>+<\/font><font COLOR=BLUE SIZE=+1><b>)<\/b><\/font>\r\n    <font COLOR=RED><b>for<\/b><\/font> <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font>x<font COLOR=BLUE SIZE=+1>=<\/font><font COLOR=BROWN>0<\/font><font COLOR=BLUE SIZE=+1><b>;<\/b><\/font> x<font COLOR=BLUE SIZE=+1>&lt;<\/font>GRID_W<font COLOR=BLUE SIZE=+1><b>;<\/b><\/font> x<font COLOR=BLUE SIZE=+1><\/font><font COLOR=BLUE SIZE=+1>+<\/font><font COLOR=BLUE SIZE=+1>+<\/font><font COLOR=BLUE SIZE=+1><b>)<\/b><\/font>\r\n      <font COLOR=RED><b>if<\/b><\/font> <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font>check <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font>x<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> y<font COLOR=BLUE SIZE=+1><b>,<\/b><\/font> n<font COLOR=BLUE SIZE=+1><b>)<\/b><\/font><font COLOR=BLUE SIZE=+1><b>)<\/b><\/font>\r\n        <font COLOR=BLUE SIZE=+1><b>{<\/b><\/font>\r\n          disp <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font><font COLOR=BLUE SIZE=+1><b>)<\/b><\/font><font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n          <font COLOR=RED><b>return<\/b><\/font> <font COLOR=BROWN>0<\/font><font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n        <font COLOR=BLUE SIZE=+1><b>}<\/b><\/font>\r\n\r\n  printf <font COLOR=BLUE SIZE=+1><b>(<\/b><\/font><font COLOR=PURPLE>\"No solution found\\n\"<\/font><font COLOR=BLUE SIZE=+1><b>)<\/b><\/font><font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n  <font COLOR=RED><b>return<\/b><\/font> <font COLOR=BROWN>1<\/font><font COLOR=BLUE SIZE=+1><b>;<\/b><\/font>\r\n<font COLOR=BLUE SIZE=+1><b>}<\/b><\/font><\/pre>\n<p><em>Code colorized by the <a href=\"http:\/\/www.chami.com\/colorizer\/\">CodeColorizer<\/a>.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Not even a computer can solve this one?<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27],"tags":[],"class_list":["post-218","post","type-post","status-publish","format-standard","hentry","category-pickover-puzzles"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/218","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/comments?post=218"}],"version-history":[{"count":0,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/218\/revisions"}],"wp:attachment":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/media?parent=218"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/categories?post=218"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/tags?post=218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}