結果
問題 | No.583 鉄道同好会 |
ユーザー | ああいい |
提出日時 | 2022-03-30 21:44:04 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 129 ms / 2,000 ms |
コード長 | 591 bytes |
コンパイル時間 | 236 ms |
コンパイル使用メモリ | 82,208 KB |
実行使用メモリ | 76,952 KB |
最終ジャッジ日時 | 2024-11-15 12:51:19 |
合計ジャッジ時間 | 2,166 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 16 |
ソースコード
import sys sys.setrecursionlimit(10 ** 8) N,M = map(int,input().split()) s = set() parent = [-1] * N def find(i): if parent[i] < 0:return i parent[i] = find(parent[i]) return parent[i] def unite(i,j): I = find(i) J = find(j) if I == J:return False parent[J] += parent[I] parent[I] = J return True memo = [0] * N t = -1 for _ in range(M): a,b = map(int,input().split()) memo[a] ^= 1 memo[b] ^= 1 s.add(a) s.add(b) unite(a,b) t = b S = sum(memo) if len(s) == -parent[find(t)] and S <= 2: print('YES') else: print('NO')