https://www.acmicpc.net/problem/2606
처음에는 그래프를 단방향으로 했다.
문제에 나와있는 예시도 통과했길래
이게 맞는 건 줄 알았는데 아니었다 ^^
양방향으로 받아야한다.
단방향으로 받게되면 3에서 탐색이 끝나버린다.
배열 인덱스 3 위치에 있는 곳에는 아무런 노드가 없기 때문에
양항뱡으로 받으면
정상적으로 탐색이 가능해진다.
모든 노드가 연결되어 있는 경우를 생각하지 못했다.
n = int(input())
connect = int(input())
array = [[] for _ in range(n + 1)]
visited = [False for _ in range(n + 1)]
for _ in range(connect):
c1, c2 = map(int, input().split())
array[c1].append(c2)
array[c2].append(c1)
answer = 0
def check(computer):
global answer
visited[computer]=True
for i in array[computer]:
if visited[i]:
continue
check(i)
answer+=1
check(1)
print(answer)
'여니의 취준 준비 > 코딩테스트 (Python)' 카테고리의 다른 글
[11725] 트리의 부모찾기 in python (0) | 2022.03.01 |
---|---|
[1260] DFS 와 BFS in python (0) | 2022.02.28 |
[22858] 원상 복구 in python (0) | 2022.02.28 |
[Git] Git 사용법 및 명령어 총정리 (0) | 2022.02.28 |
[10282] 해킹 in python (0) | 2022.02.26 |