結果
問題 | No.583 鉄道同好会 |
ユーザー | wajima_wataru |
提出日時 | 2018-01-03 21:25:55 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 1,957 ms / 2,000 ms |
コード長 | 611 bytes |
コンパイル時間 | 393 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 17,792 KB |
最終ジャッジ日時 | 2024-12-23 02:28:25 |
合計ジャッジ時間 | 10,643 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 16 |
ソースコード
N, M = map(int, input().split()) S = [True for _ in range(N)] C = [False for _ in range(N)] G = [[] for _ in range(N)] for _ in range(M): a, b = map(int, input().split()) S[a] = not(S[a]) S[b] = not(S[b]) G[a].append(b) G[b].append(a) C[a] = C[b] = True p = a count = 0 for i, s in enumerate(S): if not s: count += 1 p = i def dfs(g, p, visited): visited.append(p) for n in g[p]: if n not in visited: dfs(g, n, visited) visited = [] dfs(G, p, visited) print('YES' if count <= 2 and len(visited) == C.count(True) else 'NO')