링크

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15B1cKAKwCFAYD

풀이

BFS를이용해 연결된 노드들과의 거리를 구한후 거리가 가장 멀면서 노드값이 가장 큰 노드를 찾으면됨

코드

from collections import deque
 
 
for tcase in range(1,11):
    answer=[0,0]
    a,start=map(int,input().split())
    inputs = list(map(int,input().split()))
 
    info = [[0 for _ in range(101)] for _ in range(101)]
    for i in range(0,a,2):
        info[inputs[i]][inputs[i+1]]=1
    visit = [-1 for _ in range(101)]
    q=deque()
    q.append([start,0])
    while q:
        now,dist = q.popleft()
        if answer[1]<dist:
            answer[0]=now
            answer[1]=dist
        elif answer[1]==dist and answer[0]<now:
            answer[0]=now
        for next in range(1,101):
            if visit[next]==-1 and info[now][next]==1:
                visit[next]=dist+1
                q.append([next,dist+1])
     
 
    print(f"#{tcase} {answer[0]}")