아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

요원 007

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

요약
그래프에서 T턴 늦게 출발하는 추격자가 이웃한 두 서버 노드 중 하나에서 한 턴을 버티려는 침입자를 반드시 잡는 가장 큰 T를 구합니다.
난이도

어려움10점 중 8점

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

문제

요원 007이 숙적 디레퍼런스드 널포인터 박사(줄여서 널 박사)의 계획을 알아냈다. 널 박사는 서버 두 대 가운데 한 대의 전원 플러그를 뽑으려 한다. 박사는 이미 서버실로 가고 있어서, 007도 함께 아침을 먹던 상대를 언젠가 떠나야 한다.

두 사람은 위성 관측 시스템을 해킹해 두어서 서로의 위치를 늘 안다. 이 시스템은 대상 지역을 연결된 무방향 그래프로 보여 준다. 007, 널 박사, 서버 두 대는 각각 정점 하나에 있다. 서버 두 대는 같은 서버실에 있으므로 인접한 두 정점에 놓여 있다.

시간은 단위 시간으로 나뉜다. 한 단위 시간에는 널 박사가 먼저 행동하고, 그다음 007이 행동한다.

널 박사는 간선 하나를 따라 이동하거나, 제자리에 머무르거나, 서 있는 정점에 서버가 있으면 그 서버의 플러그를 뽑는다.

007은 간선 하나를 따라 이동하거나 제자리에 머무른다. 행동을 마친 뒤 널 박사와 같은 정점에 있으면 널 박사를 잡는다.

플러그를 뽑는 데는 단위 시간 하나가 온전히 걸리지만, 007은 그 일을 중간에 막지 못한다. 널 박사가 플러그를 뽑기 시작하면 박사는 목적을 이룬다. 007이 같은 단위 시간에 그 정점으로 가도 이미 늦다.

007은 널 박사를 잡거나, 널 박사가 영원히 플러그를 뽑지 못하게 하면 성공한다.

007이 TT단위 시간 동안 아침을 먹는다는 말은, 처음 TT개의 단위 시간에 007이 행동하지 않는다는 뜻이다. 아침을 먹는 동안 007은 아무도 잡지 못한다. 널 박사가 007과 같은 정점에 와도 마찬가지다.

널 박사가 어떻게 움직이든 007이 반드시 성공하도록, 007이 아침을 먹을 수 있는 최대 단위 시간 수를 구하라.

입력

첫째 줄에 정점 수 NN과 간선 수 MM이 주어진다. 정점 번호는 11부터 NN까지다.

둘째 줄에 서로 다른 네 정수 ss, dd, aa, bb (1≤s,d,a,b≤N1 \le s, d, a, b \le N)가 주어진다. 차례대로 007의 처음 위치, 널 박사의 처음 위치, 서버 두 대의 위치다.

다음 MM개 줄에는 간선 하나를 나타내는 두 정수 uu와 vv (1≤u,v≤N1 \le u, v \le N)가 주어진다.

그래프는 연결되어 있고, 정점 aa와 정점 bb는 간선으로 이어져 있다.

출력

007이 성공을 보장하면서 아침을 먹을 수 있는 최대 단위 시간 수를 한 줄에 출력한다. 첫 단위 시간에 바로 떠나야 하면 00을 출력한다. 007이 무엇을 해도 성공할 수 없으면 −1-1을 출력한다.

제한

4≤N≤200 0004 \le N \le 200\,000, 3≤M≤600 0003 \le M \le 600\,000.

예제5

  1. 예제 1

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

    입력
    6 7
    5 6 1 2
    6 3
    1 2
    1 3
    2 3
    1 5
    2 4
    5 4
    
    예상 출력
    0
    
  3. 예제 3

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

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

    입력
    25 24
    24 1 22 23
    1 2
    2 3
    3 4
    4 5
    5 6
    6 7
    7 8
    8 9
    9 10
    10 11
    11 12
    12 13
    13 14
    14 15
    15 16
    16 17
    17 18
    18 19
    19 20
    20 21
    21 22
    22 23
    24 22
    25 23
    
    예상 출력
    20