結果
問題 | No.690 E869120 and Constructing Array 4 |
ユーザー |
👑 |
提出日時 | 2020-03-28 15:52:54 |
言語 | Lua (LuaJit 2.1.1734355927) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 756 bytes |
コンパイル時間 | 188 ms |
コンパイル使用メモリ | 7,076 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2025-01-02 11:38:40 |
合計ジャッジ時間 | 1,605 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 19 |
ソースコード
local bls, brs = bit.lshift, bit.rshift local k = io.read("*n") if k == 0 then print("2 0") elseif k == 1 then print("2 1\n1 2") elseif k == 2 then print("3 3\n1 2\n2 3\n1 3") else local n = 2 local mul = 1 while mul < k do mul = mul * 2 n = n + 1 end local ary = {} for i = 2, n do table.insert(ary, {1, i}) end for i = 3, n - 1 do for j = i + 1, n do table.insert(ary, {i, j}) end end local rem = k - bls(1, n - 3) for i = 3, n - 1 do local v = bls(1, n - 1 - i) if v <= rem then table.insert(ary, {2, i}) rem = rem - v end end if 0 < rem then table.insert(ary, {2, n}) end print(n .. " " .. #ary) for i = 1, #ary do print(ary[i][1] .. " " .. ary[i][2]) end end