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

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

Minus One

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

요약
정점 10만 개 이하의 무방향 그래프에서, 추가했을 때 s에서 t까지 최단 경로 길이가 정확히 1 줄어드는 비간선의 개수를 센다.
난이도

보통10점 중 7점

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

문제

이쿠타 군은 무방향 그래프에 남다른 애정을 가지고 있다. 이쿠타 군은 무방향 그래프 GG와 그 두 점 s,ts,t의 쌍 (G,s,t)(G,s,t) 중에서 "아름다움"이 큰 것을 좋아한다. 쌍 (G,s,t)(G,s,t)의 "아름다움"이란, 변 e={u,v}e = \{u, v\} (uu와 vv는 GG의 서로 다른 두 점) 중에서 GG에서 ss에서 tt로 가는 최단 경로의 길이가, GG에 ee를 추가한 무방향 그래프에서 ss에서 tt로 가는 최단 경로의 길이보다 1만큼 큰 것의 개수이다.

여러분의 일은 쌍 (G,s,t)(G,s,t)가 주어졌을 때 그 "아름다움"을 구하는 프로그램을 작성하는 것이다.

입력

입력은 다음 형식으로 주어진다.

NN MM ss tt

x1x_1 y1y_1

...

xix_i yiy_i

...

xMx_M yMy_M

처음에 무방향 그래프의 정점 수, 변 수, 두 정점을 나타내는 정수 N,M,s,tN,M,s,t가 입력된다. 2행부터 M+1M+1행까지는 변으로 연결된 두 정점이 입력된다. (단, GG의 정점 집합을 {1,...,N}\{1,..., N\}로 한다.)

출력

주어진 그래프를 GG라고 할 때, 쌍 (G,s,t)(G,s,t)의 "아름다움"을 1행으로 출력하라.

제한

입력 중 각 변수는 다음 제약을 만족한다.

  • 2≤N≤100,0002\leq N \leq 100,000

  • 1≤M≤300,0001\leq M \leq 300,000

  • 1≤s,t,xi,yi≤N1\leq s,t,x_i,y_i \leq N

  • ss와 tt는 다르다

  • ss에서 tt로 갈 수 있음이 보장된다

예제4

  1. 예제 1

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

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

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

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