a124: E. 傘兵
標籤 : 2010國中組初賽
通過比率 : 0人/0人 (0%) [非即時]
評分方式:
Strictly

最近更新 : 2023-08-03 17:11

內容

2010 網際網路程式設計全國大賽 國中組初賽

「報告將軍,有緊急狀況。」

「說!」

「前線遭遇伏擊,兄弟們死傷慘重,請求補給與增援。」

「嗯···

「將軍!我們不能白白讓他們送死啊!」

······

「將軍!」

「好吧,派出傘兵中隊空降支援前線!」

你的任務來了:你手上有前線區域的地圖,地圖劃分為 R × C 的小格子。我們用 (r,c) 代表由北向南數來第 r 排,由西向東數來第 c 個小格子。你不知道前線部隊確切的位置,因為那是最高機密,不過你確定他們一定在地圖上的某處。然而,由於地形、天候、敵人視線等等因素,不是地圖上的每個地方都可以空降傘兵。可以空降的地方共有 N 個,座標分別是

(r1,c1),(r2,c2),··· ,(rN,cN)。

空降在每個的地方都有一些風險,用 v1,v2,··· ,vN 表示,值越大代表風險越高。空降下去的傘兵會知道前線部隊的確切位置,並且會往那個位置移動。傘兵可以從一個小格子移動到上下左右相鄰的小格子,而且每移動一格都會增加 1 單位的風險。這整個支援任務的總風險就是空降的風險加上傘兵移動的風險。

請你利用地圖和可以空降的地方的資料,算出派傘兵到地圖上每個地方的最小總風險。

輸入說明

第一行有一個整數 T,代表接下來有幾組測試資料。兩筆測試資料中間會以一個空行隔開。

每一筆的第一行有 R C N 三個整數,意思如題目所述。接下來有 N 行,每行有三個整數 ri ci vi ,代表第 i 個可以空降的地方的座標和風險。

  • 1 ≤ R,C ≤ 100
  • 1 ≤ N ≤ 1000
  • 1 ≤ ri ≤ R, 1 ≤ ci ≤ C, 0 ≤ vi 10000
  • i 6= j,則 (ri,ci) 6= (rj,cj)
輸出說明

請對每筆測試資料輸出 R 行,每行有 C 個數字,第 r 行第 c 個數字代表派傘兵到 (r,c) 支援的最小總風險。兩個數字間請用一個空白隔開,兩筆測試資料間也請用一個空行隔開。

範例輸入
2
3 3 1
2 2 5

2 2 2
1 1 9
2 1 4
範例輸出
7 6 7
6 5 6
7 6 7

5 6
4 5
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (100%): 1.0s , <1M
提示 :
標籤:
2010國中組初賽
出處:
NPSC [管理者:
zero (管理員)
]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」