10451번: 순열 사이클 (with Python)

625 단어 백준백준

https://www.acmicpc.net/problem/10451 - 10451번: 순열 사이클

def dfs(now):
	i = graph[now]
	if not visited[i]:
		visited[i] = True
		dfs(i)

for _ in range(int(input())):
	n = int(input())
	graph = [0] + list(map(int,input().split()))
	visited = [False]*(n+1)
	result = 0

	for i in range(1,n+1):
		if not visited[i]:
			dfs(i)
			result+=1
	
	print(result)

좋은 웹페이지 즐겨찾기