华为OD机试真题 Python 实现【光伏场地建设规划】【2023Q1 100分】

news2025/1/13 15:40:19

在这里插入图片描述

一、题目描述

祖国西北部有一片大片荒地,其中零星的分布着一些湖泊,保护区,矿区;整体上常年光照良好,但是也有一些地区光照不太好。某电力公司希望在这里建设多个光伏电站,生产清洁能源。对每平方公里的土地进行了发电评估,其中不能建设的区域发电量为0kw,可以发电的区域根据光照,地形等给出了每平方公里年发电量x千瓦。我们希望能够找到其中集中的矩形区域建设电站,能够获得良好的收益。

二、输入描述

第一行输入为调研的地区长,宽,以及准备建设的电站【长宽相等,为正方形】的边长,最低要求的发电量

之后每行为调研区域每平方公里的发电量

例如,输入为:

2 5 2 6

1 3 4 5 8
2 3 6 7 1

表示调研的区域大小为长2宽5的矩形,我们要建设的电站的边长为2,建设电站最低发电量为6

三、输出描述

输出为这样的区域有多少个

上述输入长宽为2的正方形满足发电量大于等于6的区域有4个。

则输出为:

4

四、补充说明

其中 被调研的区域的长宽均大于等于1,建设电站的边长大于等于1,任何区域的发电量大于等于0。

五、解题思路

  1. 读取输入的调研区域长、宽、电站边长和最低发电量要求;
  2. 创建一个二维数组 arr,用于存储调研区域每平方公里的发电量;
  3. 读取每行调研区域的发电量,并将其存入 arr 数组中;
  4. 使用双重循环遍历调研区域,以左上角坐标作为起点,确定一个正方形的区域;
  5. 在确定的正方形区域内,使用双重循环计算该区域的总发电量;
  6. 如果总发电量大于等于最低发电量要求,则将结果加一;
  7. 遍历结束后,输出结果即为满足要求的区域个数;

六、Python算法源码

def calculate_valid_areas(input_str):
    lines = input_str.split('\n')
    row, col, length, min_power = map(int, lines[0].split())  # 读取调研区域的长、宽、电站边长和最低发电量要求
    arr = []

    for i in range(1, row + 1):
        row_values = list(map(int, lines[i].split()))  # 读取每行调研区域的发电量
        arr.append(row_values)

    result = 0  # 记录满足要求的区域个数

    for i in range(row - length + 1):
        for j in range(col - length + 1):
            power_sum = 0

            for k in range(i, i + length):
                for l in range(j, j + length):
                    power_sum += arr[k][l]  # 计算该区域内的总发电量

            if power_sum >= min_power:  # 判断总发电量是否满足最低发电量要求
                result += 1

    return result

七、效果展示

1、输入

2 5 2 6
1 3 4 5 8
2 3 6 7 1

2、输出

4

3、说明

输入长为2,宽为5的场地,建设的场地为正方形场地,边长为2,要求场地的发电量大于等于6

在这里插入图片描述

🏆下一篇:华为OD机试真题 Python 实现【相对开音节】【2022Q4 100分】,附详细解题思路

🏆本文收录于,华为OD机试(Python)真题(A卷+B卷)

每一题都有详细的答题思路、详细的代码注释、样例测试,订阅后,专栏内的文章都可看,可加入华为OD刷题群(私信即可),发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/693676.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

React入门(B站李立超老师)

视频地址:https://www.bilibili.com/video/BV1bS4y1b7NV/ 课程第一部分代码: https://pan.baidu.com/s/16hEN7j4hLDpd7NoFiS8dHw?pwd4gxv 提取码: 4gxv 课程第二部分代码:https://pan.baidu.com/s/1mDkvLqYVz1QGTV1foz5mQg?pwd5zir 提取码&…

NCV2903DR2G 低偏移电压比较器

NCV2903DR2G安森美深力科是一款双独立精密电压比较器,能够进行单电源或分电源操作。这些设备被设计为允许在单电源操作的情况下实现共模范围到地电平。低至2.0 mV的输入偏移电压规格使该设备成为消费类汽车和工业电子中许多应用的绝佳选择。 特性: 1.宽…

从密码学了解如何确定物联网信息安全

一.物联网安全概述 1.信息安全的主要内容 2.密码学 编码学和分析学的关系:相互对立、相互依存、相互促进 3.密码学历史 1.第一阶段:几千年前到1949年,此时还没有形成一门科学,靠密码分析者的直觉和经验来进行 代表:C…

DAY35——贪心part4

1. class Solution {public boolean lemonadeChange(int[] bills) {int five 0;int ten 0;for (int i 0; i < bills.length; i) {if (bills[i] 5) {five;} else if (bills[i] 10) {five--;ten;} else if (bills[i] 20) {if (ten > 0) { //贪心 优先使用面值为10的…

8.2 PowerBI系列之DAX函数专题-进阶-实现切片器筛选之间的or逻辑

需求 两个切片器之间都被选中的情况下&#xff0c;实现符合切片器条件的并集的结果呈现&#xff0c;而非交集的结果呈现&#xff0c; 实现 or #1 var occupations values(customer[occupation]) --获取到当前切片器选中的值 var bands values(product[brand]) return s…

Node环境中调用Python脚本

今天遇到一个需要在Node服务中调用Python脚本的需求&#xff0c;这里就把这个场景单独抽离出来汇总一下方法 在node中的child_process中有execSync, exec两个方法来创建一个子进程&#xff0c;然后在子进程里执行对应的python命令&#xff0c;这两个命令可以让我们执行一个脚本…

蓝桥杯专题-试题版-【完美的代价】【芯片测试】【序列求和】【杨辉三角形】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 &#x1f449;关于作者 专注于Android/Unity和各种游…

Jmeter分布式压测配置

目录 前置条件 环境部署并使用 前置条件 电脑A&#xff0c;电脑B&#xff0c;电脑C均安装相同版本的JMeter 和JDK。其中电脑A作为控制机&#xff0c;电脑B和电脑C作为施压机 电脑A IP&#xff1a;172.16.0.114 电脑B IP&#xff1a;172.16.0.115 电脑C IP&#xff1a;172…

PLC通讯协议【三菱】FX协议的报文格式和读写示例

通过编程口通讯协议,具体可操作的软元件有:X/Y/M/S/T/C/D。 通讯设置 必须设置为:波特率9600,偶校验,7位数据位,1停止位。否则无法通讯。 一、报文结构 注意: 通讯协议中的所有字符是用它们的十六进制ASCII码表示。如果有十进制数据,要先转化为十六进制数,再把十六进制…

数据挖掘算法常用四大类

一、常用算法有哪四大类 既然我们知道数据挖掘的算法是为了寻找数据中潜在的知识&#xff0c;那么数据挖掘的算法通常都有哪些类型呢&#xff1f;如果说按照这些算法所解决的问题来进行划分&#xff0c;大致可以分为分类问题、聚类问题、回归问题和关联分析问题。下面我们就来…

chatgpt赋能python:如何使用Python读取手机短信

如何使用Python读取手机短信 在现代社会&#xff0c;短信已成为人们生活中不可或缺的一部分。那么&#xff0c;如何利用Python读取手机短信呢&#xff1f;本文将介绍如何使用Python读取手机短信&#xff0c;并提出一些相关的建议。 什么是Python Python是一种高级的、开源的…

高并发系统设计40问

01 | 高并发系统&#xff1a;它的通用设计方法是什么&#xff1f; 三种方法&#xff1a; Scale-out&#xff08;横向扩展&#xff09;&#xff1a;分而治之是一种常见的高并发系统设计方法&#xff0c;采用分布式部署的方式把流量分流开&#xff0c;让每个服务器都承担一部分并…

隐藏cobaltstrike服务器-nginx反向代理

隐藏nginx版本 编辑/etc/nginx/nginx.conf 取消server_tokens off 前面的注释 http转发80端口 编辑/etc/nginx/sites-enabled/default ## # You should look at the following URLs in order to grasp a solid understanding # of Nginx configuration files in order to …

【kubernetes系列】Kubernetes之RC、RS和Deployment

在实际的工作中&#xff0c;我们使用Kubernetes 通常不会直接创建 Pod&#xff0c;而是通过 各种 Controller 来管理 Pod 的。Controller 中定义了 Pod 的部署特性&#xff0c;比如有几个副本&#xff0c;在什么样的 Node 上运行等。为了满足不同的业务场景&#xff0c;Kuberne…

C++之thread的简单使用示例

1、全局函数传入thread #include <iostream> #include <thread> #include <string>void threadWork(std::string content, int counts) {for (int i 0; i < counts; i) {std::cout << content << i << std::endl;} }int main() {std:…

node-sass报错

我们安装vue项目时&#xff0c;经常遇到nade-sass报错。然后切换到某个node版本后不再报错&#xff0c;原因见下文 一&#xff1a;报错内容 二&#xff1a;保存原因 本地nodejs版本跟安装的node-sass版本不一致 三&#xff1a;解决办法 1、查看本地node版本 node -v 2、查…

ECCV2020-FRELU

论文链接&#xff1a;https://arxiv.org/pdf/2007.11824.pdf 官方代码&#xff1a;GitHub - megvii-model/FunnelAct paddle复现版本&#xff1a;FReLU&#xff1a;简单高效的新型激活函数 - 飞桨AI Studio torch复现版本&#xff1a;GitHub - nekitmm/FunnelAct_Pytorch: py…

Word中论文参考文献完美对齐方法

1、首先&#xff0c;我们从知网、谷歌学术或其他网站找到我们需要引用的参考文献&#xff0c;如果你设置了自动编号&#xff0c;请先删除前面的自动编号。 2、我们手动在前面加上[1]、[2]等编号&#xff0c;注意都是英文符号&#xff0c;且没有空格。 3、我们光标放到编号后面…

【教学类-36-03】midjounery-niji表情包图片的矩阵式切割(3*3)及GIF制作过程

作品展示 背景需求&#xff1a; 学习midjounery-niji表情包制作&#xff0c;先用关键词生成了一张3*3的熊猫多种表情图矩阵式样 选第3张&#xff0c;放大&#xff0c;另存为“熊猫9张图” 需要&#xff1a; 把这张PNG图片切成9张同样大的小图&#xff0c;便于生成GIF动图。 图…

QT ObjectThread moveToThread多线程操作

QT多线程专栏共有15篇文章&#xff0c;从初识线程到、QMutex锁、QSemaphore信号量、Emit、Sgnals、Slot主线程子线程互相传值同步变量、QWaitCondition、事件循环、QObjects、线程安全、线程同步、线程异步、QThreadPool线程池、ObjectThread多线程操作、 moveToThread等线程操…