結果

問題 No.134 走れ!サブロー君
コンテスト
ユーザー gigurururu
提出日時 2015-01-25 17:57:21
言語 Ruby
(4.0.7 + ACL)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
AC  
実行時間 794 ms / 5,000 ms
+ 556µs
コード長 340 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 9 ms
コンパイル使用メモリ 9,816 KB
実行使用メモリ 28,544 KB
最終ジャッジ日時 2026-10-08 02:16:39
合計ジャッジ時間 4,323 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 15
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
raw source code

def g;gets.split.map(&:to_f)end
X,Y=g
n,=g
L=(1..n).map{g}+[[X,Y,0]]
Memo=L.map{{}}
def dfs(a,left)
  x,y,=L[a]
  Memo[a][left]||=left[0]?(left.map{|i|
    t,u,=L[i]
    dfs(i,left-[i])+((x-t).abs+(y-u).abs)*(left.inject(0){|s,r|s+L[r][2]}+100.0)/120
  }.min):((X-x).abs+(Y-y).abs)*(100.0)/120
end
p dfs(n,[*0...n])+L.inject(0){|s,r|s+r[2]}
0