【华为OD】B\C卷真题 100%通过:需要打开多少监控器 C/C++实现

news/2024/7/20 19:18:45 标签: 算法, 华为od, c++, c语言, 数据结构, 动态规划

【华为OD】B\C卷真题 100%通过:需要打开多少监控器  C/C++实现

目录

题目描述:

示例1

代码实现:


题目描述:

某长方形停车场,每个车位上方都有对应监控器,当且仅当在当前车位或者前后左右四个方向任意一个车位范围停车时,监控器才需要打开;

给出某一时刻停车场的停车分布,请统计最少需要打开多少个监控器;

输入描述

第一行输入m,n表示长宽,满足1<m,n<=20;后面输入m行,每行有n个0或1的整数,整数间使用一个空格隔开,表示该行已停车情况,其中0表示空位,1表示已停;

输出描述

最少需要打开监控器的数量;

示例1

输入输出示例仅供调试,后台判题数据一般不包含示例

输入

3 3
0 0 0
0 1 0
0 0 0

输出

5

代码实现:

 

#include <vector>
#include <iostream>
using namespace std;

int getCnt(const vector<vector<int>> &park)
{
	int count = 0;
	int m = park.size();
	int n = park[0].size();
	for (int i = 0; i < m; i++) {
		for (int j = 0; j < n; j++) {
			if (park[i][j] == 1) {
				count++;
			}
			else if (j - 1 >= 0 && park[i][j - 1] == 1) {
				count++;
			}
			else if (j + 1 < n && park[i][j + 1] == 1) {
				count++;
			}
			else if (i - 1 >= 0 && park[i - 1][j] == 1) {
				count++;
			}
			else if (i + 1 < m && park[i + 1][j] == 1) {
				count++;
			}
		}
	}
	return count;
}
int main() {
	int m, n;
	cin >> m >> n;
	vector<vector<int>> park(m, vector<int>(n,0));
	for (int i = 0; i < m; i++) {
		for (int j = 0; j < n; j++) {
			cin >> park[i][j];
		}
	}
	cout << getCnt(park) << endl;
	return 0;
}


http://www.niftyadmin.cn/n/5213206.html

相关文章

CH01_适应设计模式

Iterator模式&#xff08;迭代器模式&#xff09; 迭代器模式&#xff08;Iterator&#xff09;,提供一种方法&#xff0c;顺序访问一个聚合对象中各个元素&#xff0c;而不是暴露该对象的内部表示。 类图结构 说明 Iterator&#xff08;迭代器&#xff09; 该角色负责定义按…

Proto3语法详解01

1.字段规则 消息的字段可以用下面几种规则来修饰: ●singular: 消息中可以包含该字段零次或一次(不超过一次)。proto3语法中&#xff0c;字段默认使用该 规则。 ●repeated :消息中可以包含该字段任意多次(包括零次)&#xff0c;其中重复值的顺序会被保留。可以理 解为定义了一…

机器学习探索计划——KNN算法流程的简易了解

文章目录 数据准备阶段KNN预测的过程1.计算新样本与已知样本点的距离2.按照举例排序3.确定k值4.距离最近的k个点投票 scikit-learn中的KNN算法 数据准备阶段 import matplotlib.pyplot as plt import numpy as np# 样本特征 data_X [[0.5, 2],[1.8, 3],[3.9, 1],[4.7, 4],[6.…

Qt手写ListView

创建视图&#xff1a; QHBoxLayout* pHLay new QHBoxLayout(this);m_pLeftTree new QTreeView(this);m_pLeftTree->setEditTriggers(QAbstractItemView::NoEditTriggers); //设置不可编辑m_pLeftTree->setFixedWidth(300);创建模型和模型项&#xff1a; m_pLeftTree…

mysql1124实验七索引管理

实验任务七 索引管理实验任务书 1. 实验目的 掌握在MySQL中使用MySQL Workbench或者SQL语句创建和使用索引的方法&#xff08;以SQL命令为重点&#xff09;。 掌握在MySQL中使用MySQL Workbench或者SQL语句查看和删除索引的方法&#xff08;以SQL命令为重点&#xff09;。 …

2023.11.25-电商项目建设业务学习1-指标,业务流程,核销

目录 1.指标分类(原子指标,派生指标,衍生指标) 2.一些业务名词 3.四大业务流程-销售需求 3.1-线上线下销售 3.2线上线下退款 4.四大业务流程-会员业务 5.四大业务流程-供应链业务 6.四大业务流程-商城业务 7.核销主题需求分析 1.指标分类(原子指标,派生指标,衍生指标) 原…

硬盘上不小心删除了重要文档?试试这6个成功率高的数据恢复工具!

您是否不小心重新格式化了存储卡或删除了想要保留的照片&#xff1f;最好的照片恢复软件可以提供帮助&#xff01;如果您使用数码相机拍摄的时间足够长&#xff0c;那么当您错误地删除了想要保留的图像、重新格式化了错误的 SD 卡&#xff0c;或者发现您的珍贵照片由于某种莫名…

HCIP-九、路由控制

九、路由控制 实验拓扑实验需求及解法1.企业生产网运行 OSPF&#xff0c;完成以下需求&#xff1a;2.数据中心运行 ISIS3.路由引入4.路由策略5.策略路由6.ISP 过滤私网路由 实验拓扑 实验需求及解法 1.企业生产网运行 OSPF&#xff0c;完成以下需求&#xff1a; 1.1 OSPF 进程…