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

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

출퇴근

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

요약
연결된 무방향 그래프에서 도로 가중치를 바꾸는 마법을 최대 K번 건물에서만 쓸 수 있을 때 A에서 B까지 가는 최소 시간을 구한다.
난이도

보통10점 중 7점

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

문제

윤이는 유니마을에 사는 주민이다. 유니마을은 11번부터 NN번까지 번호가 붙은 NN개의 건물로 이루어져 있다. 윤이는 AA번 건물에 살고 있고, BB번 건물에 있는 회사로 매일 출퇴근한다.

유니마을의 구조는 다음과 같다. NN개의 건물을 잇는 MM개의 양방향 도로 RiR_i가 있고, 도로를 적절한 순서로 이용하면 임의의 두 건물 사이를 이동할 수 있다. 도로 RiR_i는 서로 다른 UiU_i번 건물과 ViV_i번 건물을 잇고, RiR_i를 지나는 데 TiT_i만큼의 시간이 걸린다. 한 쌍의 건물을 직접 잇는 도로는 최대 하나이다.

그러던 어느 날 윤이는 자신이 마법을 쓰면 교통 상황을 바꿔서 각 도로를 지나는 데 드는 시간을 바꿀 수 있다는 것을 알게 되었다. 윤이는 마법을 최대 KK번 쓸 수 있는데, 마법을 kk번 사용하고 나면 모든 ii에 대해 도로 RiR_i를 지나는 데 걸리는 시간이 Ti,kT_{i, k}가 된다. 윤이는 건물에 있을 때만 마법을 쓸 수 있고, 도로를 지나는 중에는 마법을 쓸 수 없다.

윤이는 마법을 적절히 활용해서 최단 시간으로 회사에 도착하려고 한다. 윤이를 도와 회사에 도착하는 데 필요한 최단 시간을 구하시오.

입력

입력의 첫 줄에 NN과 MM, 그리고 AA와 BB가 주어진다.

다음 MM개의 줄에 걸쳐 Ui,Vi,TiU_i, V_i, T_i가 공백을 사이에 두고 주어진다. (1≤i≤M)(1 \le i \le M)

다음 줄에 KK가 주어진다.

다음 KK개 줄 중 kk번째 줄에는 T1,k,T2,k,⋯ ,TM,kT_{1, k}, T_{2, k}, \cdots, T_{M, k}가 공백을 사이에 두고 주어진다. (1≤k≤K)(1 \le k \le K)

출력

윤이가 마법을 적절히 활용했을 때 회사에 도착하는 데 걸리는 최단 시간을 출력한다.

제한

  • 2≤N≤1,0002 \le N \le 1,000
  • N−1≤M≤2,000N-1 \le M \le 2,000
  • M≤N(N−1)/2M \le N(N-1)/2
  • 1≤A,B,Ui,Vi≤N,A≠B,Ui≠Vi1\le A, B, U_i, V_i\le N, A\ne B, U_i \ne V_i
  • 0≤K≤1000 \le K \le 100
  • 0≤Ti,Ti,k<1090 \le T_i, T_{i,k} < 10^9

예제3

  1. 예제 1

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

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

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