2010-01-17
■ [ruby] shinhさんの迷路ゴルフ解読した
ビフォー:
q=gets(p)*1,~/S/
(a,i,*q=q
a[i]<?S&&a[i]=?$
4.times{|x|q+=[a*1,x]if$_[x=-~x%3*-~~/$/-~/$/+-x/2+i]!=$_[x]=?*})while/G/
puts a
アフター:
seen = gets(nil)
queue = [[seen.dup, ~/S/]]
wid = ~/$/
while seen =~ /G/
maze, here = *queue.shift
maze[here] = ?$ unless maze[here] == ?S
4.times{|k|
d = (k+1) % 3
n = here + (d-1)*wid + (d + -k/2)
# h w
# k=0 1-1= 0 1+ 0 = 1 2
# k=1 2-1= 1 2+ -1 = 1 3$0
# k=2 0-1=-1 0+ -1 = -1 1
# k=3 1-1= 0 1+ -2 = -1
if seen[n] != ?*
queue.push([maze.dup, n])
end
seen[n] = ?*
}
end
puts maze
キューを使った幅優先探索(BFS)でした。
- str*1って意味あるのかと思ったら目的はstr.dupだった
- +-x/2って-(x/2)でいいんじゃないかと思ったらマイナスのときに駄目だった
■ [mac] 特定のFlashを含むサイトがフリーズします、助けて
1/17午前は大丈夫だったんですけど、午後から特定のFlashを含むサイトをMacBook(10.5.8)で見るとブラウザごとフリーズするようになった(Safari4, Firefox3, Chrome, Opera9/10で確認)。
- セーフな例:http://www.nintendo.co.jp/ds/uorj/index.html
- アウトな例:http://www.nintendo.co.jp/ds/uorj/howtomake/index.html
Flashをアンインストールすると普通に見れるようになるので犯人なのは間違いないんですが…。
僕も同じ症状になったことありますねー<br><br>いろいろ調べたもののよくわからず、最終的にmacの再インストールをしてしまいました・・・
怖いですよねぇ。今回は結局再起動したら直りました。