Re: 人材獲得作戦・4 試験問題ほか

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 とか頭おかしい記録だけど、時間がかかるか、最短解とは限らないんだと信じたい。