結果
問題 | No.90 品物の並び替え |
ユーザー |
👑 |
提出日時 | 2019-05-05 21:57:09 |
言語 | Lua (LuaJit 2.1.1734355927) |
結果 |
AC
|
実行時間 | 654 ms / 5,000 ms |
コード長 | 1,069 bytes |
コンパイル時間 | 158 ms |
コンパイル使用メモリ | 6,812 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-26 03:55:18 |
合計ジャッジ時間 | 1,745 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 9 |
ソースコード
local n, m = io.read("*n", "*n")local scores = {}for i = 1, n do scores[i] = {} endfor i = 1, m dolocal a, b, c = io.read("*n", "*n", "*n")scores[a + 1][b + 1] = cendlocal tot = 1for i = 2, n do tot = tot * i endlocal function getpattern(n, patall, idx)local used = {}local retary = {}local div = patallfor i = 1, n do used[i] = false endfor i = n, 1, -1 dodiv = math.floor(div / i)local v_idx = math.floor(idx / div)idx = idx % divlocal tmp_idx = 0for j = 1, n doif(not used[j]) thenif(tmp_idx == v_idx) thentable.insert(retary, j)used[j] = truebreakelsetmp_idx = tmp_idx + 1endendendendreturn retaryendlocal highsc = 0local mma = math.maxfor i = 0, tot - 1 dolocal tbl = getpattern(n, tot, i)local sc = 0for j = 1, n - 1 dofor k = j + 1, n doif(scores[tbl[j]][tbl[k]] ~= nil) thensc = sc + scores[tbl[j]][tbl[k]]endendendhighsc = mma(highsc, sc)endprint(highsc)