QOJ.ac

QOJ

시간 제한: 1 s 메모리 제한: 64 MB 총점: 20

#23776. 蹦蹦跳跳渡河

통계

題目描述

在某條河上,流行著一種稍微有些危險的遊戲:從一側河岸出發,依序跳到石頭上,最終到達對岸。

Figure 4-1

圖 $4\text{-}1$:石頭位置範例(圖中日文標註:反対側の岸 = 對岸,川 = 河,始める岸 = 起始岸,列 = 列,行 = 行)

現在,如圖 $4\text{-}1$ 所示,我們認為石頭位於方格網格上。行數為 $n$。在圖 $4\text{-}1$ 中,$n = 5$。

在這個遊戲中,從一側河岸出發,透過進行普通跳躍或最多 $m$ 次跨一行跳躍來到達對岸。所謂普通跳躍,是指跳到目前所在行前方第 $1$ 行的河岸或某塊石頭上;所謂跨一行跳躍,是指跳到目前所在行前方第 $2$ 行的河岸或某塊石頭上。這裡,起始岸前方第 $1$ 行是第 $1$ 行,前方第 $2$ 行是第 $2$ 行,而第 $n-1$ 行前方第 $2$ 行以及第 $n$ 行前方第 $1$ 行是對岸。

現在,為了盡可能安全地完成這個遊戲,我們決定考慮跳躍的危險度。每塊石頭都有固定的濕滑度。從一塊石頭跳到另一塊石頭時,無論是普通跳躍還是跨一行跳躍,跳躍的危險度定義為:

(目前所在石頭的濕滑度 $+$ 目標石頭的濕滑度)$\times$(橫向移動距離)

其中,橫向移動距離是指列號之差。另外,從河岸跳到石頭上,或者從石頭跳到河岸上的跳躍危險度為 $0$。

給定 $n, m$ 以及每塊石頭的位置和濕滑度作為輸入,請撰寫程式求出到達對岸時跳躍危險度總和的最小值。對於給定的輸入資料,保證一定能夠到達對岸,且同一個方格內不會存在 $2$ 塊或以上的石頭。

輸入格式

第 $1$ 行包含以空格分隔的 $2$ 個整數 $n, m$。它們分別表示行數以及允許進行跨一行跳躍的次數。$n, m$ 分別滿足 $2 \le n \le 150$,$0 \le m \le \frac{(n+1)}{2}$。

接下來的 $n$ 行包含每一行中石頭的資訊。第 $i+1$ 行($1 \le i \le n$)包含 $1$ 個整數 $k_{i}$($0 \le k_{i} \le 10$)以及隨後的 $2 \times k_{i}$ 個整數,以空格分隔。這些數表示從起始岸數起第 $i$ 行中石頭的資訊。

$k_{i}$ 表示該行中存在的石頭數量。對於隨後的 $2 \times k_{i}$ 個整數,第 $2 \times j - 1$ 個($1 \le j \le k_{i}$)整數 $x_{i,j}$ 表示該行第 $j$ 塊石頭的列號,第 $2 \times j$ 個整數 $d_{i,j}$ 表示該行第 $j$ 塊石頭的濕滑度。$x_{i,j}, d_{i,j}$ 分別滿足 $1 \le x_{i,j}, d_{i,j} \le 1000$。

在評測資料中,$20\%$ 的分數滿足 $n \le 6$,另有 $20\%$ 的分數滿足 $m = 0$。

輸出格式

輸出共 $1$ 行,包含 $1$ 個整數,表示到達對岸時跳躍危險度總和的最小值。

範例說明

在圖 $4\text{-}2$ 中,設石頭上所寫的數字表示各塊石頭的濕滑度。當按照箭頭所示的順序渡過石頭時,每次跳躍的危險度依序為 $0$、$(2 + 2) \times 1 = 4$、$(2 + 1) \times 1 = 3$、$(1 + 4) \times 2 = 10$、$0$,總和為 $17$。此時,跳躍危險度的總和達到最小。

此範例對應於範例 $1$。

Figure 4-2

圖 $4\text{-}2$:路線範例

範例輸入與輸出

與上述範例對應的輸入輸出如範例 $1$ 所示。

範例輸入 1

5 1
2 1 3 2 2
1 3 2
1 1 7
1 2 1
1 4 4

範例輸出 1

17

範例輸入 2

5 0
2 1 3 2 2
1 3 2
1 1 7
1 2 1
1 4 4

範例輸出 2

40

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.