トップ 最新 追記

Route 477



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で確認)。

Flashをアンインストールすると普通に見れるようになるので犯人なのは間違いないんですが…。

本日のツッコミ(全2件) [ツッコミを入れる]

willnet [僕も同じ症状になったことありますねー いろいろ調べたもののよくわからず、最終的にmacの再インストールをしてしまい..]

yhara [怖いですよねぇ。今回は結局再起動したら直りました。]