結果
問題 | No.583 鉄道同好会 |
ユーザー |
👑 |
提出日時 | 2019-05-05 08:31:48 |
言語 | Lua (LuaJit 2.1.1734355927) |
結果 |
AC
|
実行時間 | 49 ms / 2,000 ms |
コード長 | 827 bytes |
コンパイル時間 | 242 ms |
コンパイル使用メモリ | 6,688 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-26 08:12:55 |
合計ジャッジ時間 | 1,377 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 16 |
ソースコード
local ior = io.input() local n, m = ior:read("*n", "*n") local t = {} local parent = {} for i = 1, n do t[i], parent[i] = 0, i end local function findroot(idx) while(parent[idx] ~= idx) do idx = parent[idx] end return idx end for i = 1, m do local a, b = ior:read("*n", "*n") a, b = a + 1, b + 1 t[a], t[b] = t[a] + 1, t[b] + 1 local ra, rb = findroot(a), findroot(b) parent[a], parent[b], parent[rb] = ra, ra, ra end local oddnum = 0 for i = 1, n do if(t[i] % 2 == 1) then oddnum = oddnum + 1 end end local groupnum = 0 local grouplist = {} for i = 1, n do local r = findroot(i) if(r ~= i) then grouplist[r] = true end end for k, v in pairs(grouplist) do groupnum = groupnum + 1 end if(oddnum ~= 2 and oddnum ~= 0) then print("NO") elseif(2 <= groupnum) then print("NO") else print("YES") end