ABC168 D - .. (Double Dots)
https://atcoder.jp/contests/abc168/tasks/abc168_d
提出
code: python
n, m = map(int, input().split())
ab = list(map(int, input().split())) for _ in range(m)
aisle = [[] for _ in range(n+1)]
for i in ab:
aisle[i0].append(i1)
aisle[i1].append(i0)
for i in range(2, n+1):
if (1 in aislei):
print(1)
else:
for j in aislei:
if (1 in aislej):
print(j)
break
解答
code: python
from collections import deque
n, m = map(int, input().split())
ab = list(map(int, input().split())) for _ in range(m)
aisle = [[] for _ in range(n+1)]
for i in ab:
aisle[i0].append(i1)
aisle[i1].append(i0)
# print(aisle)
# ], 2, 1, 3, 4, 2, 4, [3, 2
ans = -1 * (n+1)
# 部屋1に最小の移動回数でたどり着くことを求めるため、部屋1から出発する
que = deque(1)
while que:
q = que.popleft()
for i in aisleq:
if ansi == -1:
que.append(i)
# 出発元
ansi = q
# print(ans)
# -1, 2, 1, 2, 2
print("Yes")
for i in range(2,n+1):
print(ansi)
テーマ
#bfs
メモ
【ABC168 D】「.. (Double Dots)」を解く【Python3】
提出
code: python
from collections import defaultdict
from collections import deque
n, m = list(map(int, input().split()))
ab = list(map(int, input().split())) for _ in range(m)
d = defaultdict(set)
q = deque()
for i in ab:
d[i0].add(i1)
d[i1].add(i0)
print(d)
# defaultdict(<class 'set'>, {1: {2}, 2: {1, 3, 4}, 3: {2, 4}, 4: {2, 3}})
miti = []
for i in range(2, n+1):
ans = 0
q.append(i)
while q:
print(q)
for next in dq.popleft():
if next == 1:
q.clear()
break
else:
q.append(next)
print(ans)
print("=============")