728x90
파이썬
실2 순열 사이클
다른 코드
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
import sys
def DFS(graph, lst_root, a):
cnt = 0
for i in range(a):
visited = []
stack = [lst_root[i]]
while stack:
n = stack.pop()
if n not in visited:
if n in graph:
visited.append(n)
stack += set(graph[n]) - set(visited)
del graph[n]
if visited:
cnt +=1
return cnt
graph = {}
n = int(input())
for i in range(0,n):
a = int(sys.stdin.readline())
ran = list(range(1,a+1))
lst = list(map(int,sys.stdin.readline().split()))
for i in range(0,a):
graph[ran[i]] = [lst[i]]
print(DFS(graph,lst,a))
|
cs |
728x90
'Python' 카테고리의 다른 글
| 211213 백준 코딩연습 파이썬 2667 단지번호붙이기 (0) | 2021.12.13 |
|---|---|
| 211210 백준 코딩연습 파이썬 2606 바이러스 (0) | 2021.12.10 |
| 211208 백준 코딩연습 파이썬 2750 수 정렬하기 (0) | 2021.12.08 |
| 211207 파이썬 코딩테스트 수업 5일차, 백준 코딩연습 파이썬 2331 반복수열, 컴프리헨션 (0) | 2021.12.07 |
| 211206 백준 코딩연습 파이썬 11721 열 개씩 끊어 출력하기, 코딩테스트 수업 4일차 (0) | 2021.12.06 |





최근댓글