ABC287 C - Path Graph?
提出
code: python
from collections import deque
n, m = map(int, input().split())
g = [[] for _ in range(n+1)]
for u, v in uv:
# print(g)
q = deque()
q.append(1)
while q:
now = q.popleft()
continue
else:
if abs(now-next) > 2:
print("No")
exit()
q.append(next)
if sum(visited) == n:
print("Yes")
else:
print("No")
解答
code: python
from collections import defaultdict
from collections import deque
n, m = map(int, input().split())
d = defaultdict(list)
for u, v in uv:
# print(d)
que = deque()
que.append(1)
while que:
now = que.popleft()
continue
else:
que.append(next)
if sum(visited) != n:
print("No")
exit()
# 頂点の次数が 2 以下、1 が 2 個
# 頂点 1 と 4 が結ばれてはいけない、というわけではなく、ループがないか、というのが条件
c = 0
for v in d.values():
if len(v) == 1:
c += 1
if len(v) > 2:
print("No")
exit()
if c == 2:
print("Yes")
else:
print("No")
テーマ
メモ
提出
code: python
from collections import defaultdict
from collections import deque
n, m = map(int, input().split())
d = defaultdict(list)
for u, v in uv:
# print(d)
if m == 0:
print("No")
exit()
que = deque()
que.append(1)
while que:
next = que.popleft()
continue
else:
que.append(n)
# 訪れてない頂点があったら OUT
# 2 以上繋いでたら OUT