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

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

모비스터디

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

요약
가중 양방향 그래프에서 A번 도시와 B번 도시 사이의 어떤 최단 경로 위에 놓인 도시를 모두 찾아 개수와 번호를 출력한다.
난이도

보통10점 중 6점

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

문제

현대모비스는 글로벌 자동차 부품 기업으로 자율주행, 커넥티비티, 전동화 분야에 역량을 집중해 스마트 모빌리티 시대를 선도하고 있습니다.

현대모비스는 앞으로 미래 모빌리티 산업에서 소프트웨어와 하드웨어를 결합한 차별화된 모빌리티 솔루션을 제공하는 선도기업으로 도약하기 위해 노력하고 있으며, 이러한 연구개발과 생산능력 등 핵심역량을 바탕으로 스마트 모빌리티, UAM, 로보틱스 사업분야로 비즈니스를 확대해 나가고 있습니다.

민겸이와 시은이는 이런 꿈의 직장인 현대모비스에 입사하기 위해 모비스터디라는 이름의 스터디를 진행하기로 했다. 하지만, 민겸이와 시은이는 서로 다른 도시에 살고 있기 때문에, 스터디를 진행할 장소를 정해야 한다.

민겸이와 시은이는 11번부터 NN번까지 번호가 부여된 NN개의 도시와 서로 다른 두 도시를 잇는 MM개의 양방향 도로가 있는 나라에 살고 있다. 도로마다 통행하는 데 걸리는 시간이 양의 정수로 존재하고, 각 도시에서 도로를 통해 항상 다른 모든 도시로 이동할 수 있다. 또한, 같은 도시를 출발지와 도착지로 두고 있는 도로는 존재하지 않으며, 임의의 두 도시를 잇는 도로는 최대 1개 존재한다.

민겸이는 AA번 도시, 시은이는 BB번 도시에 살고 있다. 민겸이는 시은이와 모비스터디를 위해 둘이서 만날 도시를 정하려고 한다. 최단 경로 문제를 풀던 민겸이는 약속 장소를 정할 때, AA 도시에서 BB 도시까지 이동하는 최단 경로 위에 존재하는 도시로 약속 장소를 정하는 것이 좋다고 생각했다. 이때, 최단 경로가 여러 개라면 그중 하나 위에만 존재해도 된다. AA번 도시와 BB번 도시 또한 약속 장소가 될 수 있음에 유의하자.

하지만, 민겸이는 이러한 조건을 만족하는 도시가 어디 있는지 모른다. 민겸이는 이 문제를 풀기에는 너무 귀찮았기 때문에, 여러분에게 해결을 부탁했다.

입력

첫 번째 줄에 도시의 개수 NN과 도로의 개수 MM, 민겸이가 살고 있는 도시의 번호 AA, 시은이가 살고 있는 도시의 번호 BB가 공백으로 구분되어 주어진다. (2≤N≤200,000;1≤M≤300,000;1≤A,B≤N;A≠B)(2 \le N \le 200\\,000; 1 \le M \le 300\\,000; 1 \le A, B \le N; A \ne B)

다음 MM개에 줄에 각 도로의 정보를 나타내는 세 정수 aa, bb, cc가 공백으로 구분되어 주어진다. 해당 도로는 aa 도시와 bb 도시를 양방향으로 잇고 있으며, 통행하는 데 cc만큼의 시간이 걸린다. (1≤a,b≤N;1≤c≤109;a≠b)(1 \le a, b \le N; 1 \le c \le 10^9; a \ne b)

입력으로 주어지는 모든 수는 양의 정수다.

출력

첫째 줄에 민겸이가 약속 장소로 정할 수 있는 도시의 개수를 출력한다.

둘째 줄에 민겸이가 약속 장소로 정할 수 있는 도시의 번호를 공백으로 구분하여 오름차순으로 출력한다.

예제2

  1. 예제 1

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

    입력
    2 1 1 2
    1 2 5
    
    예상 출력
    2
    1 2