백준 10451 - 순열 사이클


백준 10451 - 순열 사이클

1234567891011121314151617181920212223242526import syssys.setrecursionlimit(2000) def dfs(v): visit[v] = 1 for i in graph[v]: if visit[i] == 0: dfs(i) for _ in range(int(sys.stdin.readline())): n = int(sys.stdin.readline()) nums = [[i[0]+1, i[1]] for i in enumerate(map(int, sys.stdin.readline().split()))] visit = [0] * (n+1) graph = [[] for _ in range(n+1)] for i in nums: graph[i[0]].append(i[1]) graph[i[1]].append(i[0]) cnt = 0 for i in range(1,len(nums)+1): if visit[i] == 0: cnt += 1 dfs(i) print(cnt)Colored by Color Scriptercs 루프를 돌며 사이클 내의 노드 방문 체크.숫자의 사이클을 탐색하려는..........



원문링크 : 백준 10451 - 순열 사이클