結果
問題 |
No.812 Change of Class
|
ユーザー |
👑 |
提出日時 | 2019-05-08 23:53:27 |
言語 | Lua (LuaJit 2.1.1734355927) |
結果 |
AC
|
実行時間 | 858 ms / 4,000 ms |
コード長 | 851 bytes |
コンパイル時間 | 112 ms |
コンパイル使用メモリ | 6,816 KB |
実行使用メモリ | 47,360 KB |
最終ジャッジ日時 | 2024-06-12 21:07:22 |
合計ジャッジ時間 | 16,238 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 60 |
ソースコード
local ior = io.input() local n, m = ior:read("*n", "*n") local t = {} for i = 1, n do t[i] = {} end for i = 1, m do local a, b = ior:read("*n", "*n") t[a][b], t[b][a] = true, true end local map = {} local q = ior:read("*n") for i = 1, q do local fst = ior:read("*n") for j = 1, n do map[j] = -1 end map[fst] = 0 local tasks = {fst} local tasknum = 1 local done = 0 local friendnum, day = 0, 0 while(done < tasknum) do done = done + 1 local curidx = tasks[done] for k, v in pairs(t[curidx]) do if(map[k] == -1) then map[k] = map[curidx] + 1 friendnum, day = friendnum + 1, map[k] tasknum = tasknum + 1 tasks[tasknum] = k end end end local i_d = 0 local mult = 1 while(mult < day) do i_d = i_d + 1 mult = mult * 2 end print(friendnum .. " " .. i_d) end