結果
| 問題 |
No.583 鉄道同好会
|
| コンテスト | |
| ユーザー |
KoshStorm
|
| 提出日時 | 2017-10-28 19:31:26 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 493 ms / 2,000 ms |
| コード長 | 783 bytes |
| コンパイル時間 | 100 ms |
| コンパイル使用メモリ | 12,800 KB |
| 実行使用メモリ | 12,800 KB |
| 最終ジャッジ日時 | 2024-11-22 04:20:24 |
| 合計ジャッジ時間 | 3,546 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 16 |
ソースコード
N,M = map(int,input().split(" "))
array = [[0]*N for i in range(N)]
flag = {}
for i in range(M):
Sa,Sb = map(int,input().split(" "))
array[Sa][Sb] += 1
array[Sb][Sa] += 1
flag[Sa] = 0
flag[Sb] = 0
#まず連結グラフか判定
def dfs(vertex):
global flag
global N
global array
if (flag[vertex] == 1):
return 0
flag[vertex] = 1
for i in range(N):
if array[vertex][i] == 1: #頂点vertexからiへの辺が存在
dfs(i)
dfs(Sa)
for val in flag.values():
if val == 0:
print("NO")
exit(0)
#--------ここまでくれば連結グラフであることが保証hoshou#
#オイラーグラフになっているか判断#
end = 0
for i in range(N):
num = array[i].count(1)
if num%2 == 1:
end += 1
if end >= 3:
print("NO")
exit(0)
print("YES")
KoshStorm