日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java 第十一届 蓝桥杯 省模拟赛 小明的城堡

發布時間:2023/12/14 java 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 第十一届 蓝桥杯 省模拟赛 小明的城堡 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

小明用積木搭了一個城堡。
  為了方便,小明在搭的時候用的是一樣大小的正方體積本,搭在了一個 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。

package 藍橋杯省模擬賽_高職組;import java.util.Arrays; import java.util.Scanner;public class 小明的城堡 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();long[] map = new long[n * m];for (int i = 0; i < map.length; i++) {map[i] = sc.nextLong();}int h = sc.nextInt();Arrays.sort(map);sc.close();long[] num = new long[h];for (int i = 0; i < num.length; i++) {long y = 0;A:for (int j = map.length - 1; j >= 0; j--) {if (map[j] == 0) {break A;}y++;map[j]--;}if (i > 0) {num[i] = y + num[i - 1];} else {num[i] = y;}}for (int i = 0; i < num.length; i++) {System.out.println(num[i]);}} }

總結

以上是生活随笔為你收集整理的Java 第十一届 蓝桥杯 省模拟赛 小明的城堡的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。