結果
問題 |
No.519 アイドルユニット
|
ユーザー |
|
提出日時 | 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
ソースコード
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)