만드는 중입니다

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

등굣길

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

요약
가중치가 있는 연결 그래프에서 1번 도시에서 N번 도시까지의 최단 거리 L보다 긴 단순 경로가 N에서 1로 돌아가는 길로 있는지 판별합니다.
난이도

보통10점 중 7점

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

문제

베이버랜드는 NN개의 도시로 이루어져 있으며, 도시에는 11번부터 NN번까지 번호가 붙어 있다. 도로는 MM개이고, 11번부터 MM번까지 번호가 붙어 있다. ii번 도로(1≤i≤M1 \le i \le M)는 도시 AiA_i와 도시 BiB_i를 양방향으로 잇고, 길이는 CiC_i이다. 여러 도로를 거치면 어느 도시에서든 다른 도시로 이동할 수 있다.

비타로는 도시 11에 사는 비버이다. 그는 도시 NN에 있는 학교에 다닌다. 평소에는 학교에 갈 때 항상 같은 길을 이용한다. 이 길은 다음 조건을 만족한다.

  • LL을 도시 11에서 도시 NN까지의 최단 거리라고 한다.
  • 비타로의 등굣길은 도시 11과 도시 NN을 잇고, 길이가 LL이다.

오늘은 날씨가 좋아서 비타로는 돌아가는 길을 우회하기로 했다. 즉, 도시 NN에서 도시 11까지 길이가 LL보다 긴 경로를 택한다. 비타로는 쉽게 지루해하기 때문에 같은 도시를 두 번 이상 방문하지 않으려 한다. 따라서 우회로에서는 같은 도시를 두 번 방문할 수 없고, 도중에 되돌아갈 수도 없다.

도시와 도로 정보가 주어졌을 때, 학교에서 비타로의 집으로 가는 우회로가 있는지 판단하는 프로그램을 작성하라.

입력

첫 줄에 NN과 MM이 주어진다.

A1A_1 B1B_1 C1C_1

A2A_2 B2B_2 C2C_2

⋮\vdots

AMA_M BMB_M CMC_M

출력

한 줄에 출력한다. 도시 NN에서 도시 11로 가는 경로 중 길이가 LL보다 길고 같은 도시를 두 번 이상 방문하지 않는 경로가 있으면 11을, 없으면 00을 출력한다.

제한

  • 2≤N≤100 0002 \le N \le 100\,000.
  • 1≤M≤200 0001 \le M \le 200\,000.
  • 1≤Ai<Bi≤N1 \le A_i < B_i \le N (1≤i≤M1 \le i \le M).
  • 1≤Ci≤1 000 000 0001 \le C_i \le 1\,000\,000\,000 (=109= 10^9) (1≤i≤M1 \le i \le M).
  • 어느 도시에서든 여러 도로를 거쳐 다른 도시로 이동할 수 있다.

예제5

  1. 예제 1

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

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

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

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

    입력
    12 17
    2 4 656247308
    4 6 106088453
    1 5 754343261
    9 12 497827261
    3 8 759830309
    3 4 61084725
    1 6 324702188
    3 6 415317430
    7 12 846175092
    5 8 278621369
    1 10 891247646
    10 12 755236904
    6 8 511967203
    5 6 597197970
    1 7 800309458
    7 9 348347831
    10 11 134217757
    
    예상 출력
    0