【蓝桥杯06】:给定小明的城堡图,请问,水的高度依次为1,2,3,....,H时,有多少块积木要被水淹。
问题描述:
小明用积木搭了一个城堡。
为了方便,小明在搭的时候用的是一样大小的正方体积本,搭在了一个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;
C语言解决:
给定小明的城堡图,请问,水的高度依次为1,2,3,....,H时,有多少块积木要被水淹。
//给定小明的城堡图,请问,水的高度依次为1,2,3,....,H时,有多少块积木要被水淹。
#include <stdio.h>int main(){int i,j,p,n,m,h,flag=0,a[100][100];scanf("%d %d",&n,&m);//第一行输入for(i=0;i<n;i++){for(j=0;j<m;j++){scanf("%d",&a[i][j]);//输入城堡 }}scanf("%d",&h);//水高度的上限度for(p=1;p<=h;p++){for(i=0;i<n;i++){for(j=0;j<m;j++){if(a[i][j]>0){flag++;a[i][j]--;} }} printf("%d\n",flag);}return 0;
}
运行结果示例:
Python解决:
给定小明的城堡图,请问,水的高度依次为1,2,3,....,H时,有多少块积木要被水淹。
# 给定小明的城堡图,请问,水的高度依次为1,2,3,....,H时,有多少块积木要被水淹。
n, m = map(int, input().split()) # 第一行输入整数 行列
line = []
for i in range(n):# 将input的值传入x 加入line 并且输入的时候按空格隔开line = line + [int(x) for x in input().strip().split(' ')]
h = int(input()) # 高度
flag = 0
for p in range(1, h+1):for i in range(0, n*m):if line[i] >= p:flag += 1print(flag)
运行结果示例:
Java解决:
给定小明的城堡图,请问,水的高度依次为1,2,3,....,H时,有多少块积木要被水淹。
//给定小明的城堡图,请问,水的高度依次为1,2,3,....,H时,有多少块积木要被水淹。
package lanqiao;
import java.util.Scanner;
public class Test {public static void main(String[] args) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();//第一行输入的数int a[][] = new int[n][m];//数组for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {a[i][j] = sc.nextInt();}}int H = sc.nextInt(); //最高水限int flag = 0;for (int p = 1; p <= H; p++) {for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {if (a[i][j] >= p) {flag++;}}}System.out.println(flag);}}
}
运行结果示例:
总结
本题思路参照百度,大家自行学习思想,算法最重要的就是其思想!
【蓝桥杯06】:给定小明的城堡图,请问,水的高度依次为1,2,3,....,H时,有多少块积木要被水淹。相关推荐
- 第七届蓝桥杯大赛个人赛--小明被绑架到X星球的巫师W那里
小明被绑架到X星球的巫师W那里. 其时,W正在玩弄两组数据 (2 3 5 8) 和 (1 4 6 7) 他命令小明从一组数据中分别取数与另一组中的数配对,共配成4对(组中的每个数必被用到). 小明的配 ...
- Java 第十一届 蓝桥杯 省模拟赛 小明的城堡
小明用积木搭了一个城堡. 为了方便,小明在搭的时候用的是一样大小的正方体积本,搭在了一个 n 行 m 列的方格图上,每个积木正好占据方格图的一个小方格. 当然,小明的城堡并不是平面的,而是立体的.小明 ...
- 【无标题】蓝桥杯java 给定n个十六进制正整数,输出它们对应的八进制数
做这道题时,编译器上没问题,放到蓝桥杯上就出问题了,后来网上搜了下,才知道看错题了,输入数据长度不超过100000,不是大小.然后看到一位大佬用C语言写的,三位三位的转换. C代码链接[https:/ ...
- Java实现 蓝桥杯 算法提高 小X的购物计划
试题 算法提高 小X的购物计划 问题描述 小X打算去超市shopping.小X没什么钱,只有N元.超市里有M种物品,每种物品都需要money,在小X心中有一个重要度.有的物品有无限件,有的物品只有几件 ...
- Java实现 蓝桥杯算法提高金明的预算方案
题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:"你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过NN元 ...
- 【蓝桥杯】PREV-55 小计算器
资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 模拟程序型计算器,依次输入指令,可能包含的指令有 1. 数字:'NUM X',X为一个只包含大写字母和数字的字符串,表示一个当前进制的 ...
- 【蓝桥杯】给定圆的半径r,求圆的面积。
问题描述 给定圆的半径r,求圆的面积. 输入格式 输入包含一个整数r,表示圆的半径. 输出格式 输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积. 说明:在本题中,输入是一个整数,但是输 ...
- python【蓝桥杯vip练习题库】BASIC-15字符串对比(水题)
试题 基础练习 字符串对比 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一: 1 ...
- [蓝桥杯][历届试题]网络寻路-dfs,图的遍历
题目描述 X 国的一个网络使用若干条线路连接若干个节点.节点间的通信是双向的.某重要数据包,为了安全起见,必须恰好被转发两次到达目的地.该包可能在任意一个节点产生,我们需要知道该网络中一共有多少种不同 ...
最新文章
- C - 数据结构实验之排序三:bucket sort(水题)
- 四级计算机网络考试大纲,2017年全国计算机等级考试四级计算机网络考试大纲...
- python数据包的作用_使用Python将登录数据包发送到Minecraft服务器不起作用
- Runtime.getRuntime().exec()
- 演讲预告:一个月的住院经历,我悟到了哪些和程序员职场发展相关的心得
- [转]IaaS、PaaS、SaaS、CaaS、MaaS五者的区别
- IndexedDB:浏览器里内置的数据库
- ELMo代码详解(二)
- HDU 5691 ——Sitting in Line——————【状压动规】
- android service 样例(电话录音和获取系统当前时间)
- csdn markdown 的使用
- 2.vue的不更新特性-重用机制和key属性-data及其他字段-vue生命周期
- 基于单片机的音频信号分析仪毕业设计
- php 失去焦点,jquery设置焦点方法focus()和jquery失去焦点方法blur()
- 我们已经开发好了Magento的Ctopay(收汇宝)非3D网关
- 超好看的樱花飘落网络科技官网源码
- win7 解决飞秋无法接收文件(准备接收)问题
- Python--数据库
- 如何找到一个好的学习率
- 最具就业前景的 7 大编程语言有哪些?
热门文章
- laravel 契约
- Python获取全部股票数据
- 2022-2028年全球与中国单稳态触发器行业市场需求预测分析
- ubuntu16.04环境安装 Qt和Qt Creator
- IGS文件格式说明与下载方式- Renix atx ANTEX: The Antenna Exchange Format
- 使用openlayers3加载png格式图片
- SQL 触发器的缺点 坏处 弊端 哼╭(╯^╰)╮
- 移动叔叔MT6573一键ROOT工具!适应所有android2.2/2.3以上系统
- 猎豹浏览器发布2.0版,性能大幅提升
- 我的第一个C#程序-智能拼图图示