만드는 중입니다

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

스쿽 바이러스

면접 대비

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

요약
감염자 s에서 시작해 링크를 따라 t분 동안 전달되는 스쿼크 수를 세어 t분에 전송되는 개수를 구합니다.
난이도

쉬움10점 중 3점

유형
동적 계획법, 그래프
정답자
아직 제출이 없습니다

문제

소셜 네트워크 Twitface가 바이러스 공격을 받고 있다. 바이러스는 사용자에서 사용자로 퍼지면서 통신량을 불려 네트워크를 마비시킨다. 평소에는 사용자가 직접 메시지를 보내야 하고 이 메시지를 스쿽이라고 부르는데, 감염된 스쿽은 사용자가 아무것도 하지 않아도 스스로 복제한다.

감염된 스쿽을 받은 사용자는 정확히 1분 뒤에 네트워크에서 자신과 연결된 모든 이웃에게 감염된 스쿽을 하나씩 보낸다. 한 사용자가 같은 시각에 스쿽을 여러 개 받으면, 1분 뒤에 이웃마다 받은 개수만큼 스쿽을 보낸다.

아래 네트워크를 보자. 사용자 0은 사용자 1, 3과 연결되어 있고, 사용자 2는 사용자 1, 3, 4와 연결되어 있다.

시각 t=0t = 0에 사용자 0이 감염되면, t=1t = 1에는 사용자 1과 3이 스쿽을 하나씩 받고, t=2t = 2에는 사용자 0과 2가 두 개씩 받고, t=3t = 3에는 사용자 1과 3이 네 개씩, 사용자 4가 두 개를 받는다. 시각 1, 2, 3에 오간 스쿽은 각각 2개, 4개, 10개다.

네트워크 구조와 처음 감염된 사용자가 주어진다. 시각 tt에 오간 스쿽이 몇 개인지 구하여라. t=0t = 0이면 사용자 ss를 감염시킨 스쿽 하나를 센다.

입력

첫 줄에 정수 네 개 nn, mm, ss, tt가 주어진다. nn은 사용자 수(1≤n≤1001 \le n \le 100), mm은 사용자를 잇는 연결의 개수(0≤m≤n(n−1)/20 \le m \le n(n-1)/2), ss는 처음 감염된 사용자의 번호(0≤s<n0 \le s < n), tt는 지난 시간을 분으로 나타낸 값(0≤t<100 \le t < 10)이다.

다음 mm개의 줄에는 정수 두 개 xx와 yy(0≤x,y<n0 \le x, y < n)가 주어지며, 사용자 xx와 yy가 연결되어 있다는 뜻이다. 연결은 양방향이고, 같은 연결이 두 번 주어지지 않는다.

출력

시각 tt에 오간 스쿽의 개수를 출력한다.

예제2

  1. 예제 1

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

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