๊ด€๋ฆฌ ๋ฉ”๋‰ด

๐‘†๐‘ข๐‘›๐‘ โ„Ž๐‘–๐‘›๐‘’ ๐‘Ž๐‘“๐‘ก๐‘’๐‘Ÿ ๐‘Ÿ๐‘Ž๐‘–๐‘›โœง

[Python] ๋ฐฑ์ค€ 10451 & ๋ฐฑ์ค€ 2331 ๋ณธ๋ฌธ

# 10451

from collections import deque
def bfs(start_node):
    queue = deque()
    queue.append(start_node)
    visited[start_node] = True
    while queue:
        now = queue.popleft()
        for next in graph[now]:
            if not visited[next]:
                queue.append(next)
                visited[next] = True

n = int(input())
for _ in range(n):
    m = int(input())
    num_list = list(map(int, input().split()))
    graph = [[] for _ in range(m+1)]
    visited = [False] * (m+1)
    for i in range(m):
        graph[i+1].append(num_list[i])
        graph[num_list[i]].append(i+1)
    cnt = 0
    for i in range(1, m+1):
        if not visited[i]:
            bfs(i)
            cnt += 1
    print(cnt)

 

 

#๋ฐฑ์ค€ 2331

A, P = map(int, input().split())
num_list = [A]
while True:
    a = 0
    for i in str(num_list[-1]):
        a += int(i) ** P
    if a in num_list:
        break
    num_list.append(a)

print(num_list.index(a))