반응형
이건 좀 쉽게 풀 수 있었다.
블로그에 올릴 생각을 하니까 코드도 깔끔하게 쓰게 된다.
블로그의 장점!
변수도 한 번 더 생각하고 정하고 '=' 앞뒤로 띄어쓰기도 해준다^^
from sys import stdin
n = int(stdin.readline())
m = int(stdin.readline())
matrix = [[0]*(n+1) for _ in range(n+1)]
for i in range(m):
x,y = map(int,stdin.readline().split())
matrix[x][y] = matrix[y][x] = 1
visited = [0]*(n+1)
def bfs(v):
queue = [v]
cnt = 0
visited[v] = 1
while queue:
v=queue.pop(0)
for i in range(1,n+1):
if (visited[i] == 0) and (matrix[v][i]==1):
queue.append(i)
visited[i] = 1
cnt += 1
print(cnt)
bfs(1)
stdin을 사용하니 input을 사용한 코드보다 4ms가 빨라졌다.
반응형
'알고리즘 > dfs,bfs' 카테고리의 다른 글
[파이썬🐍] 백준 2583 : 영역 구하기 (0) | 2021.04.09 |
---|---|
[파이썬🐍] 백준 11724 : 연결 요소의 개수 (0) | 2021.04.08 |
[파이썬🐍] 백준 2667 : 단지 번호 붙이기 (0) | 2021.04.07 |
[파이썬🐍] 백준 2178 : 미로 탐색 (0) | 2021.04.07 |
[파이썬🐍] 백준 1260 : DFS와 BFS (0) | 2021.04.07 |
댓글