Ruby で解いてみた。
c=""+b=$<.read x=b.index"G" $w=b.index" " z=b.tr!"SG","4 " b=b.gsub(/ (.{#$w}\d)/m,'a\1').gsub(/ (\d)/,'b\1').gsub(/(\d) /,'\1c').gsub(/(\d.{#$w}) /m,'\1d').tr"a-d","0-3"until" "!=b[x,1] c[x]=?$until ?S==c[x+=[$w+1,1,-1,-$w-1][b[x,1].to_i]] puts c.gsub /\d/,' '
$ cat input.txt ************************** *S* * * * * * * ************* * * * * ************ * * * * ************** *********** * * ** *********************** * * G * * * *********** * * * * ******* * * * * * ************************** $ ruby ~/t.rb input.txt ************************** *S* * $$$ * *$* *$$*$ ************* * *$* $$* $ ************ * *$$$$* $$$$$$$ * **************$*********** * $$$$$$$$$$$$$ * **$*********************** * $$$ * $$$$$$$$$$$$$G * * *$$$$$$*********** * * * * ******* * * * * * **************************
261B 。(ゴルフのために) 3 時間以上かかっちゃったよ!というネタにしようと思ったんだけど、2 時間くらいで飽きてしまった。プロゴルファーならもっと縮むんだろう。あ、1.8.7 でも 1.9 でも通るようにしています。
anarchy golf の maze solving は 86B とか頭おかしい記録だけど、時間がかかるか、最短解とは限らないんだと信じたい。