절연 구간 최소화

면접 대비

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

요약
각 간선에 0 또는 1이 붙은 연결 무향 그래프에서 A에서 B로 가는 경로 중 간선의 값이 바뀌는 횟수를 최소로 하는 경로를 찾는다.
난이도

보통10점 중 5점

유형
그래프, BFS, 최단 경로, 그리디
정답자
아직 제출이 없습니다

문제

지하철의 전기를 공급받는 방식(급전 방식)은 직류와 교류로 구분된다. 열차 운행 중 급전 방식이 바뀌게 되면 잠시 전력 공급이 중단된다. 이러한 현상을 절연이라 부른다. 열차 탑승객의 만족도는 절연이 적게 발생할수록 높아진다.

서울특별시에는 NN개의 지하철역이 있고, 두 역을 직접 잇는 선로 MM개가 설치되어 있다. 각 역에는 11부터 NN번까지의 번호가, 선로에는 11부터 MM번까지의 번호가 붙어있다. 설치되어 있는 선로만으로 임의의 두 역 사이를 이동할 수 있다. 각 선로는 직류 또는 교류 중 하나의 방식으로 전기를 공급하며 양방향으로 통행할 수 있다.

열차는 어떤 역과 이어진 선로를 통해 다른 역으로 이동하는 과정을 몇 번이든 반복할 수 있다. 이 때, 이용하는 선로의 급전 방식이 직류에서 교류로, 또는 교류에서 직류로 바뀐다면 절연이 발생한다.

당신은 열차 기관사이다. 당신은 AA번 역에서 출발해서, 선로를 통해 BB번 역까지 열차를 운행하고자 한다. 이 때 절연이 일어나는 횟수를 최소로 하는 경로로 운행할 때, 절연이 몇 번 발생하는지 구해보자.

입력

첫 줄에 지하철역의 수 NN과 선로의 수 MM이 정수의 형태로 사이에 공백을 두고 주어진다.

다음 MM개의 줄에 걸쳐, ii (1≤i≤M1 \le i \le M)번째 줄에 세 정수 S_iS\_i, E_iE\_i, T_iT\_i가 사이에 공백을 두고 주어진다. 이는 ii번 선로가 S_iS\_i번 역과 E_iE\_i번 역을 직접 연결하며, T_i=0T\_i = 0이라면 직류로, T_i=1T\_i = 1이라면 교류로 전기를 공급받음을 나타낸다.

다음 줄에 시작 역과 끝 역을 나타내는 두 정수 AA, BB가 사이에 공백을 두고 주어진다.

출력

AA번 역에서 BB번 역까지 열차를 운행할 때 급전 방식이 바뀌는 최소 횟수를 정수의 형태로 출력한다.

제한

  • 주어지는 모든 수는 정수이다.
  • 2≤N≤1000002 \le N \le 100 000
  • 1≤M≤1500001 \le M \le 150 000
  • 1≤S_i≤N1 \le S\_i \le N
  • 1≤E_i≤N1 \le E\_i \le N
  • S_i≠E_iS\_i \ne E\_i
  • T_i=0T\_i = 0 혹은 T_i=1T\_i = 1
  • 1≤A≤N1 \le A \le N
  • 1≤B≤N1 \le B \le N
  • A≠BA \ne B
  • 임의의 두 역 사이를 주어진 선로를 이용해 이동할 수 있다.
  • 두 역을 직접 잇는 선로는 최대 한 개 존재한다.

예제2

  1. 예제 1

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

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