結果

問題 No.519 アイドルユニット
ユーザー letrangerjp
提出日時 2017-06-01 19:29:04
言語 Ruby
(3.4.1)
結果
AC  
実行時間 572 ms / 1,000 ms
コード長 365 bytes
コンパイル時間 58 ms
コンパイル使用メモリ 7,296 KB
実行使用メモリ 18,176 KB
最終ジャッジ日時 2024-10-03 03:58:34
合計ジャッジ時間 8,019 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 34
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

N = gets.to_i
$chemistory = []
N.times.each{|y|
  gets.split.take(N).map(&:to_i).each_with_index{|v, x|
    $chemistory[x] ||= []
    $chemistory[x][y] = v
  }
}

$dp={}
def g(u)
  $dp[u] ||= if u == 0
    0
  else
    (a=u.bit_length-1).times.inject(0){|r, b|
      [r, u[b] > 0 ? $chemistory[a][b] + g(u ^ (1<<b) ^ (1<<a)) : r].max
    }
  end
end

p g((1<<N)-1)
0