만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

Ratatöskr

시간 제한2초메모리 제한512 MB

요약
두 마리 까마귀가 나무에서 다람쥐를 쫓습니다. 신호마다 까마귀 한 마리가 날아가고 다람쥐는 가지를 따라 도망칩니다. 잡는 데 필요한 최소 신호 수를 구합니다.
난이도

보통10점 중 7점

유형
게임 이론, 그래프, BFS
정답자
아직 제출이 없습니다

문제

Ratatöskr는 거대하지만 유한한 신화 속 나무 Yggdrasil에 사는 다람쥐이다. 그는 수다를 떨기 좋아하고, 그 때문에 나무의 다른 주민들이 서로 적대하게 된다. 그래서 Odin의 까마귀 Hugin과 Munin이 그를 잡아 심판에 넘기려고 쫓는다.

나무는 가지로 이어진 노드들로 이루어져 있다. 처음에 까마귀 두 마리와 다람쥐는 서로 다른 세 노드에 앉아 있다. 이후 다음 과정이 반복된다.

  • Odin의 신호가 떨어지면 까마귀 한 마리가 날아올라 나무의 다른 노드로 날아간다(또는 이전 위치로 되돌아갈 수도 있다). 나머지 한 마리는 제자리에 머문다.
  • 이 동작이 진행되는 동안 Ratatöskr는 가지를 따라 다른 노드로 이동할 수 있다. 단, 까마귀가 앉아 있는 노드는 지나갈 수 없다. 그는 까마귀보다 훨씬 빨라서 날아가는 까마귀가 착지하기 전에 목적지에 도착한다.

까마귀 중 하나가 Ratatöskr의 위치로 날아왔는데 그가 달아날 수 있는 다른 노드가 없으면 그는 잡힌다.

Odin이 잡는 최적의 전략을 찾도록 도와라. 즉, Ratatöskr가 까마귀에게 반드시 잡히기까지 Odin이 내려야 하는 신호의 최소 횟수를 구하라. 그가 무한히 도망칠 수 있다면 impossible을 출력하라.

입력

입력은 다음과 같다.

  • 한 줄에 정수 nn (3≤n≤803 \le n \le 80)이 주어진다. 나무의 노드 수이다. 노드는 1,…,n1, \ldots, n으로 번호가 매겨진다.
  • 한 줄에 정수 rr (1≤r≤n1 \le r \le n)이 주어진다. 다람쥐 Ratatöskr의 초기 위치이다.
  • 한 줄에 정수 hh (1≤h≤n1 \le h \le n)이 주어진다. 까마귀 Hugin의 초기 위치이다.
  • 한 줄에 정수 mm (1≤m≤n1 \le m \le n)이 주어진다. 까마귀 Munin의 초기 위치이다.
  • n−1n-1개의 줄에 각각 정수 ii와 jj (1≤i<j≤n1 \le i < j \le n)가 주어진다. 노드 ii와 jj를 잇는 가지가 있다는 뜻이다.

rr, hh, mm은 서로 다르다. 두 노드를 잇는 가지는 최대 하나이며, 모든 노드는 가지를 따라 다른 모든 노드에 도달할 수 있다.

출력

한 줄에 정수 ss를 출력한다. 최적 전략에서 까마귀가 Ratatöskr를 잡는 데 필요한 신호의 횟수이다. Ratatöskr가 무한히 도망칠 수 있다면 impossible을 출력한다.

예제2

  1. 예제 1

    입력
    4
    1
    2
    4
    1 4
    2 4
    3 4
    
    예상 출력
    1
    
  2. 예제 2

    입력
    4
    1
    2
    3
    1 4
    2 4
    3 4
    
    예상 출력
    2