当前位置: 首页 > news >正文

目前做win7系统最好的网站/百度关键词排名突然下降很多

目前做win7系统最好的网站,百度关键词排名突然下降很多,汽车行业网站建设,大连营销型网站建设OD统一考试(C卷) 分值: 100分 题解: Java / Python / C 题目描述 机器人搬砖,一共有N堆砖存放在N个不同的仓库中,第 i 堆中有 bricks[i] 块砖头,要求在8小时内搬完。 机器人每小时能搬砖的数量…

OD统一考试(C卷)

分值: 100分

题解: Java / Python / C++

alt

题目描述

机器人搬砖,一共有N堆砖存放在N个不同的仓库中,第 i 堆中有 bricks[i] 块砖头,要求在8小时内搬完。

机器人每小时能搬砖的数量取决于有多少能量格,机器人一个小时中只能在一仓库中搬砖,机器人的能量格每小时补充一次且能量格只在这一个小时有效,为使得机器人损耗最小化,应尽量减小每次补充的能量格数。

为了保障在8小时内能完成砖任务,请计算每小时始机器人充能的最小能量格数。

备注:

1、无需考虑机器人补充能量的耗时

2、无需考虑机器人搬砖的耗时

3、机器人每小时补充能量格只在这一个小时中有效

输入描述

程序有输入为“30 12 25 8 19”一个整数数组,数组中的每个数字代表第i堆砖的个数,每堆砖的个数不超过100

输出描述

输出在8小时内完成搬砖任务,机器人每小时最少需要充多少个能量格;

如果8个小时内无法完成任务,则输出“-1”;

示例1

输入:
30 12 25 8 19输出:
15

示例2

输入:
10 12 25 8 19 8 6 4 17 19 20 30输出:
-1说明:
砖的堆数为12堆存放在12个仓库中,机器人一个小时内只能在一个仓库搬砖,不可能完成任务

题解

解题思路:

  1. 题目要求机器人在8小时内搬完N堆砖,每小时搬砖的数量取决于机器人每小时充能的能量格数。
  2. 机器人每小时只能在一个仓库搬砖,因此仓库数不能超过8。
  3. 需要计算每小时机器人充能的最小能量格数,使得能够在8小时内完成搬砖任务。
  4. 使用二分查找的思想,通过不断调整充能的能量格数,找到一个最小的能量格数,使得在8小时内能够完成搬砖任务。
  5. 判断条件为每小时搬砖的天数是否小于等于8,若是则说明当前充能的能量格数足够,可以减小能量格数,否则需要增加充能的能量格数。

Java

import java.util.Arrays;
import java.util.Scanner;
/*** @author code5bug*/
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);// 读取输入的砖块数int[] bricks = Arrays.stream(in.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray();// 机器人一个小时内只能在一个仓库搬砖, 因此仓库数不能超过 8if (bricks.length > 8) {System.out.println(-1);} else {int l = -1, r = Arrays.stream(bricks).max().getAsInt();while (l + 1 < r) {int m = (l + r) >>> 1;if (check(bricks, m)) {r = m;} else {l = m;}}System.out.println(r);}}// 判断机器人每小时充 power 能量,能否在 8 个小时内搬完private static boolean check(int[] bricks, int power) {int days = 0;for (int brick : bricks) {days += (brick + power - 1) / power;}return days <= 8;}
}

Python

from typing import Listdef check(bricks: List[int], power: int) -> bool:"""判断机器人每小时充 power 能量,能否在 8 个小时内搬完"""days = 0for brick in bricks:days += (brick + power - 1) // powerreturn days <= 8if __name__ == '__main__':bricks = list(map(int, input().split()))if len(bricks) > 8:  # 机器人一个小时内只能在一个仓库搬砖,因此仓库数不能超过 8print(-1)else:l, r = -1, max(bricks)while l + 1 < r:m = (l + r) >> 1if check(bricks, m):r = melse:l = mprint(r)

C++

#include <iostream>
#include <vector>
#include <algorithm>using namespace std;// 判断机器人每小时充 power 能量,能否在 8 个小时内搬完
bool check(const vector<int>& bricks, int power) {int days = 0;for (int brick : bricks) {days += (brick + power - 1) / power;}return days <= 8;
}int main() {vector<int> bricks;int brick;while (cin >> brick) {bricks.push_back(brick);}// 机器人一个小时内只能在一个仓库搬砖, 因此仓库数不能超过 8if (bricks.size() > 8) {cout << -1 << endl;} else {int l = -1, r = *max_element(bricks.begin(), bricks.end());while (l + 1 < r) {int m = (l + r) / 2;if (check(bricks, m)) {r = m;} else {l = m;}}cout << r << endl;}return 0;
}

相关练习题

题号题目难易
LeetCode 16311631. 最小体力消耗路径中等
LeetCode 22262226. 每个小孩最多能分到多少糖果中等

‍❤️‍华为OD机试面试交流群每日真题分享): 加V时备注“华为od加群”

🙏整理题解不易, 如果有帮助到您,请给点个赞 ‍❤️‍ 和收藏 ⭐,让更多的人看到。🙏🙏🙏

相关文章:

机器人搬砖 - 华为OD统一考试

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 100分 题解&#xff1a; Java / Python / C 题目描述 机器人搬砖&#xff0c;一共有N堆砖存放在N个不同的仓库中&#xff0c;第 i 堆中有 bricks[i] 块砖头&#xff0c;要求在8小时内搬完。 机器人每小时能搬砖的数量…...

10分钟快速入门正则表达式

在力扣上看了一本付费书籍&#xff0c;终于让我入门了正则表达事... 问题&#xff1a; "^1[3-9]\\d{9}$" 是啥意思 读完本篇小笔记&#xff0c;你就知道&#xff0c;啥是"^1[3-9]\\d{9}$" 这个是啥意思了。 首先&#xff0c;正则表达式&#xff0c;这个名…...

【C++】C++的简要介绍

简单不先于复杂&#xff0c;而是在复杂之后。 文章目录 1. 什么是C2. C的发展史3. C的重要性3.1 语言的使用广泛度3.2 在工作领域3.3 在校招领域3.3.1 岗位需求3.3.2 笔试题 3.3.3 面试题 4. 如何学习C4.1 别人怎么学&#xff1f; 1. 什么是C C语言是结构化和模块化的语言&…...

Golang数据库编程详解 | 深入浅出Go语言原生数据库编程

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站https://www.captainbed.cn/kitie。 Golang学习专栏&#xff1a;https://blog.csdn.net/qq_35716689/category_12575301.html 前言 对数据库…...

《游戏引擎架构》 -- 学习2

声明&#xff0c;定义&#xff0c;以及链接规范 翻译单元 声明与定义 链接规范 C/C 内存布局 可执行映像 程序堆栈 动态分配的堆 对象的内存布局 kilobyte 和 kibibyte 流水线缓存以及优化 未完待续。。。...

#Js篇:js里面递归的理解

定义&#xff1a; 递归是一种编程技术&#xff0c;它是指一个函数在其定义内部调用自身的过程。 特点&#xff1a; 一个问题可以分解为更小的问题用同样的方法解决&#xff1b;分解后的子问题求解方式一样&#xff0c;不同的是数据规模变小&#xff1b;存在递归终止条件 作…...

Qt博客目录

一.Qt安装配置和创建项目 Qt所有版本下载地址 Qt安装配置教程windows版&#xff08;包括&#xff1a;Qt5.8.0版本&#xff0c;Qt5.12&#xff0c;Qt5.14版本下载安装教程&#xff09;&#xff08;亲测可行&#xff09; QT从入门到入土&#xff08;一&#xff09;——Qt5.14.…...

【C++】初识模板:函数模板和类模板

目录 一、模板函数 1、函数模板的概念 2、函数模板的格式 3、函数模板的原理 4、函数模板实例化 5、 模板参数的匹配原则 二、类模板 1 、类模板的定义格式 2 、类模板的实例化 3、模板类示例 一、模板函数 1、函数模板的概念 函数模板代表了一个函数家族&#xff0c…...

记录Dynamo每个节点的运行时间

不知道小伙伴们在写Dynamo程序的时候&#xff0c;有没有遇到这种问题→程序运行很慢&#xff0c;但是却不知道该优化哪些节点&#xff0c;可以提高程序运行的速度。 今天呢&#xff0c;就给大家分享一个节点包→TuneUp&#xff0c;在节点包管理器里就可以下载&#xff0c;安装…...

探索设计模式的魅力:代理模式揭秘-软件世界的“幕后黑手”

设计模式专栏&#xff1a;http://t.csdnimg.cn/U54zu 目录 引言 一、魔法世界 1.1 定义与核心思想 1.2 静态代理 1.3 动态代理 1.4 虚拟代理 1.5 代理模式结构图 1.6 实例展示如何工作&#xff08;场景案例&#xff09; 不使用模式实现 有何问题 使用模式重构示例 二、…...

AD9361多片同步设计方法

本文基于ZC706FMCOMMS5的平台&#xff0c;介绍了多片AD9361同步的方法。并将该设计移植到自行设计的ZYNQ70354片AD9361(实现8路同步收发)的电路板上。本设计采用纯逻辑的方式&#xff0c;仅使用了ZYNQ芯片的PL部分。 9361多芯片同步主要包括基带同步和射频同步两大块任务。其中…...

2024/2/7 图的基础知识

图的存储 B3643 图的存储 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路&#xff1a;mp[n][n]用来存邻接矩阵&#xff0c;二维vector用来存每个点连的点 完整代码&#xff1a; #include <bits/stdc.h> #define int long long const int N 1e5 10; int n, m; …...

1897_野火FreeRTOS教程阅读笔记_链表

1897_野火FreeRTOS教程阅读笔记_链表 全部学习汇总&#xff1a; g_FreeRTOS: FreeRTOS学习笔记 (gitee.com) 之前我自己通过直接啃代码的方式对FreeRTOS也算是有了一点理解了&#xff0c;这次趁着些许闲暇翻看一下野火的FreeRTOS教程。一者算是一种复习&#xff1b;二者可能对自…...

CTFshow web(php命令执行 45-49)

基础知识&#xff1a; 1.绕过cat使用&#xff1a; tac more less head tac tail nl od(二进制查看) vi vim sort uniq rev 2.绕过空格用&#xff1a; %09 <> ${IFS} $IFS$ {cat,fl*} %20 注&#xff1a; %09 ##&#xff08;Tab&#xff09; %20 ##&#xff08;spa…...

飞天使-linux操作的一些技巧与知识点8-zabbix6.0 容器搭建

文章目录 安装docker安装步骤mysql下载镜像安装zabbix 使用zabbix非host模式创建 测试效果 安装docker 1. 配置官方 yum 源$ sudo yum install -y yum-utils $ sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo2. 安装 Docker$ …...

51 单片机入门 400 例

1 IO输出 点亮1个LED灯方法1 2 IO输出 点亮1个LED灯方法2 3 IO输出 点亮多个LED灯方法1 4 IO输出 点亮多个LED灯方法2 5 闪烁1个LED 6 不同频率闪烁1个LED灯 7 不同频率闪烁多个LED灯…...

贪心算法的应用

考虑最大利润 输入&#xff1a;种类数、需求量、各种类的库存量、各种类的总价 输出&#xff1a;最大利润 #include <iostream> #include <algorithm>//调用sort排序 using namespace std; struct mooncake{double store;double price;double tprice; }cake[1000]…...

CentOS基于volatility2的内存取证实验

CentOS&#xff0c;Redhat和Fedora 都是Red Hat体系&#xff0c;采用yum管理器&#xff0c;不同于Debian、Ubuntu作为Debian体系使用apt 本文以CentOS为例&#xff0c;采用avml制作内存镜像&#xff0c;并利用volatility官方所给工具制作profile符号文件&#xff0c;进行简单的…...

HLS 三角函数报错:undefined reference to ‘cordic_apfixed::circ_table_arctan_128‘

最近在通过HLS实现一些算法&#xff0c;其中用到了hls::cos函数&#xff0c;写完代码编译报错&#xff1a; ../Vitis_HLS/hls_cordic_apfixed.h:229: undefined reference to cordic_apfixed::circ_table_arctan_128 build/xf_computePhaseMap_accel.o: In function void cord…...

【汇编】简单的linux汇编语言程序

一、Linux系统汇编语言 Linux系统上的汇编语言可以使用不同的语法风格&#xff0c;主要包括Intel语法和AT&T语法。这两种语法有各自的特点和风格区别&#xff0c;尽管它们表示的底层机器指令相同。下面分别对两种语法进行简要说明&#xff1a; Intel语法 Intel语法是由I…...

Fink CDC数据同步(四)Mysql数据同步到Kafka

依赖项 将下列依赖包放在flink/lib flink-sql-connector-kafka-1.16.2 创建映射表 创建MySQL映射表 CREATE TABLE if not exists mysql_user (id int,name STRING,birth STRING,gender STRING,PRIMARY KEY (id) NOT ENFORCED ) WITH (connector mysql-cdc,hostn…...

Adb offline疑难杂症解决方案大全记录

无线/有线Adb offline依次尝试下面步骤&#xff1a; adb kill-server && adb start-server adb reconnect offline 多次 adb tcpip 5555 后重试 检查有线端口5037、无线5555占用&#xff0c;排除改名的adb或其他应用占用 换USB线和USB口拔插、确保同一WiFi下&#xff0…...

详述FlinkSql Join操作

FlinkSql 的 Join Flink 官网将其分为了 Joins 和 Window Joins两个大类&#xff0c;其中里面又分了很多 Join 方式 参考文档&#xff1a; Joins | Apache Flink Window JOIN | Apache Flink Joins 官网介绍共有6种方式&#xff1a; Regular Join&#xff1a;流与流的 Joi…...

Ajax+JSON学习二

AjaxJSON学习二 文章目录 前言三、前后端数据交互3.1. GET请求3.2. POST请求3.3. jQuery 中的 Ajax3.4. Ajax 的替代品&#xff1a;fetch3.5. 小结 四、JSON4.1. JSON简介4.2. JSON 语法规则4.3. JSON的解析和序列化 总结 前言 三、前后端数据交互 3.1. GET请求 GET 请求一般用…...

STM32单片机的基本原理与应用(六)

串口测试实验 基本原理 在串口实验中&#xff0c;是通过mini_USB线搭建终端与电脑端&#xff08;也可称终端&#xff0c;为做区分称电脑端&#xff09;的“桥梁”&#xff0c;电脑端的串口调试助手通过mini_USB线向终端发送信息&#xff0c;由CH340芯片将USB接口进行转换&…...

《MySQL 简易速速上手小册》第4章:数据安全性管理(2024 最新版)

文章目录 4.1 用户认证和权限控制4.1.1 基础知识4.1.2 重点案例&#xff1a;使用 Python 管理 MySQL 用户权限4.1.3 拓展案例 4.2 防止 SQL 注入和其他安全威胁4.2.1 基础知识4.2.2 重点案例&#xff1a;使用 Python 和 MySQL 进行安全的数据查询4.2.3 拓展案例 4.3 数据加密和…...

VUE学习之路——列表渲染

<p v-for"item in items">{{ item }}</p>使用v-for进行列表的渲染。 这仅仅是一个简单的demo&#xff0c;使用v-for可以用来遍历数组和对象&#xff0c;具体如下&#xff1a; 注意&#xff1a;遍历数组或对象的时候&#xff0c;&#xff08;&#xff09;…...

CentOS 安装 redis 7.2

nginx官网 https://redis.io/download/ 把鼠标放到这里&#xff0c;复制下载地址 在服务器找个文件夹执行命令 wget https://github.com/redis/redis/archive/7.2.4.tar.gz tar -zxvf 7.2.4.tar.gz make make install 看到这几行就说明安装成功了 不放心的话再查看下b…...

运维自动化bingo前端

项目目录结构介绍 项目创建完成之后&#xff0c;我们会看到bingo_web项目其实是一个文件夹&#xff0c;我们进入到文件夹内部就会发现一些目录和文件&#xff0c;我们简单回顾一下里面的部分核心目录与文件。 ├─node_modules/ # node的包目录&#xff0c;项目运行的依赖包…...

Project2013下载安装教程,保姆级教程,附安装包和工具

前言 Project是一款项目管理软件&#xff0c;不仅可以快速、准确地创建项目计划&#xff0c;而且可以帮助项目经理实现项目进度、成本的控制、分析和预测&#xff0c;使项目工期大大缩短&#xff0c;资源得到有效利用&#xff0c;提高经济效益。软件设计目的在于协助专案经理发…...