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

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

깡충깡충 강 건너기

면접 대비

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

요약
시작 둑에서 n개 행의 돌을 디디며 일반 점프와 최대 m번의 행 건너뛰기 점프로 반대편 둑에 도달할 때 총 위험도의 최솟값을 구한다.
난이도

보통10점 중 6점

유형
동적 계획법, 배열, 구현, 그리디
정답자
아직 제출이 없습니다

문제

어떤 강에서, 한쪽 기슭에서 시작해 돌 위를 차례로 뛰어 옮기며 반대쪽 기슭까지 가는 다소 위험한 놀이가 유행하고 있다.

그림 4-1. 돌 위치의 예

그림 4-1처럼 돌은 격자 칸 위에 놓여 있다고 하자. 행의 수는 nn이며, 그림 4-1에서는 n=5n = 5이다.

이 놀이에서는 한쪽 기슭에서 출발해 보통 점프 또는 한 행 건너뛰기 점프를 최대 mm번까지 사용하여 반대쪽 기슭까지 건넌다. 보통 점프는 지금 있는 행보다 한 행 앞의 기슭 또는 돌 중 하나로 뛰어 옮기는 것이고, 한 행 건너뛰기 점프는 지금 있는 행보다 두 행 앞의 기슭 또는 돌 중 하나로 뛰어 옮기는 것이다. 출발 기슭의 한 행 앞은 1번째 행, 두 행 앞은 2번째 행이며, n−1n-1번째 행의 두 행 앞과 nn번째 행의 한 행 앞은 반대쪽 기슭이라고 한다.

이 놀이를 되도록 안전하게 마치기 위해 점프의 위험도를 생각한다. 각 돌에는 미끄러움 값이 정해져 있다. 돌에서 돌로 뛰어 옮길 때의 위험도는 보통 점프든 한 행 건너뛰기 점프든

(현재 돌의 미끄러움+도착 돌의 미끄러움)×(가로 이동 거리)(\text{현재 돌의 미끄러움} + \text{도착 돌의 미끄러움}) \times (\text{가로 이동 거리})

로 정한다. 여기서 가로 이동 거리는 두 돌의 열 번호 차이다. 또한 기슭에서 돌로, 또는 돌에서 기슭으로 뛰어 옮기는 점프의 위험도는 00이다.

nn, mm과 각 돌의 위치 및 미끄러움이 입력으로 주어질 때, 반대쪽 기슭까지 도달하는 데 드는 점프 위험도 합의 최솟값을 구하는 프로그램을 작성하라. 주어지는 입력 데이터는 반드시 반대쪽 기슭까지 도달할 수 있으며, 같은 칸에 돌이 2개 이상 놓이는 일은 없다.

입력

첫째 줄에 두 정수 nn, mm이 공백으로 구분되어 주어진다. 각각 행의 수와 한 행 건너뛰기 점프가 허용되는 횟수를 나타낸다. 2≤n≤1502 \le n \le 150, 0≤m≤(n+1)/20 \le m \le (n+1)/2이다.

이어지는 nn개의 줄에는 각 행의 돌 정보가 주어진다. i+1i+1번째 줄 (1≤i≤n)(1 \le i \le n)에는 정수 kik_i (0≤ki≤10)(0 \le k_i \le 10)가 먼저 오고, 그 뒤에 2ki2 k_i개의 정수가 공백으로 구분되어 온다. 이는 출발 기슭에서 세어 ii번째 행에 있는 돌 정보를 나타낸다. kik_i는 그 행에 있는 돌의 개수이며, 이어지는 2ki2 k_i개의 정수 가운데 2j−12j-1번째 정수 xi,jx_{i,j} (1≤j≤ki)(1 \le j \le k_i)는 그 행 jj번째 돌의 열 번호를, 2j2j번째 정수 di,jd_{i,j}는 그 돌의 미끄러움을 나타낸다. xi,jx_{i,j}, di,jd_{i,j}는 1≤xi,j,di,j≤10001 \le x_{i,j}, d_{i,j} \le 1000을 만족한다.

출력

반대쪽 기슭까지 도달하는 데 드는 점프 위험도 합의 최솟값을 나타내는 정수 하나를 한 줄에 출력한다.

힌트

그림 4-2. 경로의 예

그림 4-2에서 돌에 적힌 숫자는 각 돌의 미끄러움을 나타낸다. 화살표로 표시된 순서대로 돌을 건널 때 각 점프의 위험도는 차례로 00, (2+2)×1=4(2 + 2) \times 1 = 4, (2+1)×1=3(2 + 1) \times 1 = 3, (1+4)×2=10(1 + 4) \times 2 = 10, 00이며 그 합은 1717이다. 이때 점프 위험도의 합이 최소가 된다. 이 경로는 첫 번째 입력 데이터에 대응한다.

예제2

  1. 예제 1

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

    입력
    5 0
    2 1 3 2 2
    1 3 2
    1 1 7
    1 2 1
    1 4 4
    
    예상 출력
    40