Skip to content

Commit 2951a79

Browse files
committed
[BOJ] #11724. 연결요소의 개수 / 실버2 / 51분(힌트..)
1 parent 534dd8a commit 2951a79

2 files changed

Lines changed: 66 additions & 0 deletions

File tree

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import sys
2+
sys.setrecursionlimit(10000) #재귀 limit 설정(파이썬 최대 깊이 늘리는 모듈 이용)
3+
4+
# 1. DFS 함수
5+
def dfs(u):
6+
visited[u] = True # 방문표시
7+
for v in graph[u]: # 연결되어 있는 리스트 내 요소들도 방문 표시
8+
if visited[v] == False:
9+
visited[v] = True
10+
dfs(v) # 연결되어 있는 요소의 연결된 요소도 dfs로 탐색
11+
12+
# 2. 입력 및 초기화
13+
input = sys.stdin.readline
14+
N, M = map(int, input().strip().split()) # N: 정점의 개수, M: 간선의 개수
15+
graph = [[] for _ in range(N+1)] # 그래프 초기화
16+
visited = [False] * (N+1) # 방문여부 리스트 초기화
17+
18+
# 3. 그래프 만들기
19+
for _ in range(M):
20+
u, v = map(int, input().strip().split()) # 양 끝점 u,v
21+
graph[u].append(v)
22+
graph[v].append(u)
23+
24+
25+
# 4. 연결 요소 개수 찾기
26+
cnt = 0
27+
for i in range(1, N+1):
28+
if visited[i] == False:
29+
cnt += 1 # 첫 방문시에만 cnt에 +1
30+
dfs(i)
31+
32+
# 5. 정답 출력
33+
print(cnt)
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import sys
2+
sys.setrecursionlimit(10000) #재귀 limit 설정(파이썬 최대 깊이 늘리는 모듈 이용)
3+
4+
# 1. DFS 함수
5+
def dfs(u):
6+
visited[u] = True # 방문표시
7+
for v in graph[u]: # 연결되어 있는 리스트 내 요소들도 방문 표시
8+
if visited[v] == False:
9+
visited[v] = True
10+
dfs(v) # 연결되어 있는 요소의 연결된 요소도 dfs로 탐색
11+
12+
# 2. 입력 및 초기화
13+
input = sys.stdin.readline
14+
N, M = map(int, input().strip().split()) # N: 정점의 개수, M: 간선의 개수
15+
graph = [[] for _ in range(N+1)] # 그래프 초기화
16+
visited = [False] * (N+1) # 방문여부 리스트 초기화
17+
18+
# 3. 그래프 만들기
19+
for _ in range(M):
20+
u, v = map(int, input().strip().split()) # 양 끝점 u,v
21+
graph[u].append(v)
22+
graph[v].append(u)
23+
24+
25+
# 4. 연결 요소 개수 찾기
26+
cnt = 0
27+
for i in range(1, N+1):
28+
if visited[i] == False:
29+
cnt += 1 # 첫 방문시에만 cnt에 +1
30+
dfs(i)
31+
32+
# 5. 정답 출력
33+
print(cnt)

0 commit comments

Comments
 (0)