https://www.acmicpc.net/problem/2606
간단한 재귀함수로 풀었다.
코딩 테스트를 준비할 일이 생겨서 파이썬을 오랜만에 사용하였는데 훨씬 간단하게 풀 문법들을 다시 공부해야겠다.
# 7
# 6
# 1 2
# 2 3
# 1 5
# 5 2
# 5 6
# 4 7
def ps(x,arr,cnt,total):
global m
cnt[x] = 1
for i in range(0,m):
if arr[i][0] == x and cnt[arr[i][1]] == 0:
ps(arr[i][1],arr,cnt,total+1)
if arr[i][1] == x and cnt[arr[i][0]] == 0:
ps(arr[i][0],arr,cnt,total+1)
n = int(input())
m = int(input())
arr = []
cnt = [0 for i in range(0,n+1)]
for i in range(0,m):
arr.append(list(map(int,input().split())))
ps(1,arr,cnt,1)
print(sum(cnt)-1)
'알고리즘' 카테고리의 다른 글
[백준] 7576번: 토마토 (0) | 2022.02.02 |
---|---|
[백준] 2178번: 미로 탐색 (0) | 2022.01.31 |
[백준] 1260번: DFS와 BFS (0) | 2022.01.30 |
[백준] 1012번:유기농 배추 (0) | 2022.01.30 |
[Algorithm-swift] 두 개 뽑아서 더하기 (0) | 2021.12.28 |