【(高職專科組)第十一屆藍橋杯省模擬賽答案】小明用積木搭了一個城堡

題目:小明的城堡

題目描述
小明用積木搭了一個城堡。
  爲了方便,小明在搭的時候用的是一樣大小的正方體積本,搭在了一個 n 行 m 列的方格圖上,每個積木正好佔據方格圖的一個小方格。
  當然,小明的城堡並不是平面的,而是立體的。小明可以將積木壘在別的積木上面。當一個方格上的積木壘得比較高時,就是一個高塔,
當一個方格上沒有積木時,就是一塊平地。
  小明的城堡可以用每個方格上壘的積木層數來表示。例如,下面就表示一個城堡。
  9 3 3 1
  3 3 3 0
  0 0 0 0
  這個城堡南面和東面都有空地,西北面有一個大房子,在西北角還有一個高塔,東北角有一個車庫。
  現在,格格巫要來破壞小明的城堡,他施了魔法水淹小明的城堡。
  如果水的高度爲1,則緊貼地面的那些積木要被水淹,在上面的例子中,有7塊積木要被水淹。
  如果水的高度爲2,則更多積木要被水淹,在上面的例子中,有13塊積木要被水淹。
  給定小明的城堡圖,請問,水的高度依次爲1, 2, 3, …, H 時,有多少塊積木要被水淹。

輸入格式
  輸入的第一行包含兩個整數 n, m。
  接下來 n 行,每行 m 個整數,表示小明的城堡中每個位置積木的層數。
  接下來包含一個整數 H,表示水高度的上限。

輸出格式
  輸出 H 行,每行一個整數。第 i 的整數表示水的高度爲 i 時被水淹的積木數量。

樣例輸入
3 4
9 3 3 1
3 3 3 0
0 0 0 0
10

樣例輸出
7
13
19
20
21
22
23
24
25
25

評測用例規模與約定
  對於 40% 的評測用例,1 <= n, m <= 100,1 <= H <= 100,積木層數不超過100;
  對於 70% 的評測用例,1 <= n, m <= 1000,1 <= H <= 1000,積木層數不超過1000;
  對於所有評測用例,1 <= n, m <= 1000,1 <= H <= 100000,積木層數不超過1000000000。

要點

代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章