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

【2024.10.22练习】机器人塔

题目描述


题目分析

由于数据小,直接考虑DFS搜索底层所有排列组合。


我的代码

需要注意:这个数据有点漏洞的是题干声明N+M<231,但实际上有个测试点是等于231的。

一开始在build_tower()函数中建完整个塔再判定是否合格,结果最大数据量下超时了。后面修改了函数,每添加一个机器人就判定一次是否合格,不合格直接退出函数,这样运行时间就在有效时长内了。因此对于时间复杂度在极限附近的程序,剪枝也是很有效的。

#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
const int MAX_L=22;
int m; //A数量 
int n; //B数量
int l; //层数:也是最底层的机器人数 
bool bottom[MAX_L];//最底层机器人排列 
bool tower[MAX_L][MAX_L]; 
//tower[i][j]表示第i层从左往右第j个机器人种类 
int ans;
void build_tower(){//记录用于构筑的A,B数量int A=m;int B=n; //构建底层 for(int i=1;i<=l;i++){tower[l][i]=bottom[i]; if(!bottom[i]) A--;if(bottom[i]) B--;}//构建上层for(int i=l-1;i>0;i--){for(int j=1;j<=i;j++){tower[i][j]=tower[i+1][j]^tower[i+1][j+1]; //异或运算 if(!tower[i][j]) A--;if(tower[i][j]) B--;if(A<0||B<0) return;}}if(A==0&&B==0){ans++;//数量正确 }
}
void dfs(int a,int b,int x){//a,b为剩余A,B的数量 if(a<0||b<0||x>l) return;if(x==l){build_tower();return;}bottom[x+1]=0; dfs(a-1,b,x+1); //0代表Abottom[x+1]=1;dfs(a,b-1,x+1); //1代表B
}
int main()
{cin>>m>>n;for(int i=1;i<=21;i++){if(i*(i+1)/2==m+n){l=i;}}ans=0;dfs(m,n,0);cout<<ans;return 0;
}

相关文章:

【2024.10.22练习】机器人塔

题目描述 题目分析 由于数据小&#xff0c;直接考虑DFS搜索底层所有排列组合。 我的代码 需要注意&#xff1a;这个数据有点漏洞的是题干声明NM<231&#xff0c;但实际上有个测试点是等于231的。 一开始在build_tower&#xff08;&#xff09;函数中建完整个塔再判定是否…...

酒店预订订房小程序源码系统 多酒店入驻+打造类似美团的酒店模式 带完整的安装代码包以及搭建部署教程

系统概述 随着移动互联网的普及&#xff0c;小程序因其轻量级、无需下载安装、即用即走的特点&#xff0c;迅速成为各行业的标配。对于酒店预订行业而言&#xff0c;小程序不仅能够有效提升用户体验&#xff0c;还能降低运营成本&#xff0c;提高转化率。本源码系统正是基于这…...

springboot037基于SpringBoot的墙绘产品展示交易平台的设计与实现(论文+源码)_kaic

毕 业 设 计&#xff08;论 文&#xff09; 题目&#xff1a;墙绘产品展示交易平台设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本墙绘产品展示…...

YOLOv8实战人脸-口罩检测与识别【数据集+YOLOv8模型+源码+PyQt5界面】

本文采用YOLOv8作为核心算法框架&#xff0c;结合PyQt5构建用户界面&#xff0c;使用Python3进行开发。YOLOv8以其高效的实时检测能力&#xff0c;在多个目标检测任务中展现出卓越性能。本研究针对人脸-口罩数据集进行训练和优化&#xff0c;该数据集包含丰富的人脸-口罩图像样…...

《黑神话悟空》各章节boss顺序汇总

第一章BOSS顺序&#xff1a; 1、牯护院&#xff1a;犀牛精&#xff0c;位于苍狼岭娟&#xff0c;击败后能获得定身术。 2、广智&#xff1a;火刀狼&#xff0c; 位于观音禅院&#xff0c;击败后获得广智变身&#xff0c;记得敲钟。 3、蓝皮幽魂&#xff1a;蓝皮大头&#xff0…...

rust中cargo.toml详细介绍

1. cargo.toml介绍 Cargo.toml是 Rust 项目的配置文件,它使用 TOML(Tom’s Obvious, Minimal Language)格式。 1.1 基本结构 [package]:包含项目的基本信息。 name:项目名称。version:项目版本号。edition:Rust 版本,如 2018、2021 等。[package]name = "abc&q…...

jupyter notebook 笔记

nbclassic 经典版 新版的 jupyter notebook 太丑了。 最难受的是字体太小了。 我还是喜欢老版本的 jupyter notebook. 安装经典版: pip install nbclassic 启动经典版: jupyter server 或是 jupyter nbclassic 参考来源: https://github.com/jupyter/nbclassic jupyter note…...

Atlas800昇腾服务器(型号:3000)—CANN安装(二)

服务器配置如下&#xff1a; CPU/NPU&#xff1a;鲲鹏 CPU&#xff08;ARM64&#xff09;A300I pro推理卡 系统&#xff1a;Kylin V10 SP1【下载链接】【安装链接】 驱动与固件版本版本&#xff1a; Ascend-hdk-310p-npu-driver_23.0.1_linux-aarch64.run【下载链接】 Ascend-…...

考研鼓励小程序

考研冲刺倒计时&#xff0c;加入我们一起奋斗&#x1f4a5; 考研倒计时提醒神器来啦&#xff01; 距离考研越来越近&#xff0c;复习是否紧张又有些焦虑&#xff1f;不用担心&#xff01;我特别制作了一个 考研倒计时提醒服务&#xff0c;每天在 7:00 和 23:59 准时为你发送倒…...

Wooden UI(木头UI纹理按钮边框 背景图标 带PNG素材)

资源包包含以下元素&#xff1a;按钮、图标、框架、复选框等&#xff0c;提供分层的 PSD 文件。 下载&#xff1a;​​Unity资源商店链接资源下载链接 效果图&#xff1a;...

WebRTC音频 03 - 实时通信框架

WebRTC音频01 - 设备管理 WebRTC音频 02 - Windows平台设备管理 WebRTC音频 03 - 实时通信框架(本文) WebRTC音频 04 - 关键类 WebRTC音频 05 - 音频采集编码 一、前言&#xff1a; 前面介绍了音频设备管理&#xff0c;并且以windows平台为例子&#xff0c;介绍了ADM相关的类…...

Maven陷阱揭秘:避开Java项目构建的10大常见误区

文章目录 引言基础知识核心概念示例演示实际应用深入与最佳实践常见问题解答结语学习资源互动环节 引言 Maven是Java项目中广泛使用的项目管理和构建自动化工具。它通过一个中央仓库和依赖管理系统&#xff0c;简化了项目的构建和依赖管理。理解Maven的依赖机制对于构建和维护…...

基础数据结构思路写法记录,便于回顾

重思路非代码。基础的思路搞懂了&#xff0c;变形题目顺着思考基本都能写出来&#xff01; 二分查找 int binarySearch(vector<int> &nums, int target) {// write your code hereif (nums.empty()) {return -1;}int start 0;int end nums.size() - 1;while (star…...

基于AI的量化投资框架Qlib的Python依赖包pyqlib安装问题记录

版权声明&#xff1a;本文为博主原创文章&#xff0c;如需转载请贴上原博文链接&#xff1a;基于AI的量化投资框架Qlib的Python依赖包pyqlib安装问题记录-CSDN博客 前言&#xff1a;最近想使用Qlib来做量化交易的策略研究&#xff0c;但是第一步就卡在了安装pyqlib依赖包&#…...

《语音识别方案选择》

《语音识别方案选择》 一、引言二、语音识别技术概述&#xff08;一&#xff09;语音识别的基本原理&#xff08;二&#xff09;语音识别技术的发展历程&#xff08;三&#xff09;语音识别技术的分类1、基于声学模型的语音识别2、基于语言模型的语音识别3、端到端的语音识别 三…...

目标检测数据集图片及标签同步裁剪

目录 前言 具体方法 使用介绍 完整代码 前言 在目标检测任务中&#xff0c;模型的训练依赖于大量高质量的标注数据。然而&#xff0c;获取足够多的标注数据集往往代价高昂&#xff0c;并且某些情况下&#xff0c;数据集中的样本分布不均衡&#xff0c;这会导致模型的泛化能…...

【设计模式-简单工厂】

定义 简单工厂模式&#xff08;Simple Factory Pattern&#xff09;是一种创建型设计模式&#xff0c;用于通过一个工厂类来创建某个产品类的实例&#xff0c;而不直接在客户端&#xff08;调用方&#xff09;中实例化对象。 这种模式的主要思想是将对象的创建逻辑集中在一个…...

多个版本的GCC(GNU编译器集合)可以同时安装并存

在Ubuntu系统中&#xff0c;多个版本的GCC&#xff08;GNU编译器集合&#xff09;可以同时安装并存。GCC是编译C、C以及其他编程语言程序的重要工具&#xff0c;不同的项目可能需要不同版本的GCC来确保兼容性。 为什么需要多个GCC版本 项目依赖&#xff1a;不同的软件项目可能…...

量子纠错--shor‘s 码

定理1 (量子纠错的条件) C是一组量子编码&#xff0c;P是映射到C上的投影算子。假设是一个算子元素描述的量子操作&#xff0c;那么基于量子编码C&#xff0c;存在一个能对抗描述的噪声的纠错操作R的充要条件是 对某个复元素厄米矩阵成立。 将算子元素称为导致的错误。如果这样…...

机器学习2

一、模型评估方法 1.1 K折交叉验证法&#xff08;K-Fold Cross Validation&#xff09; 1.1.1 定义 K折交叉验证法是一种用于评估模型性能的技术。它将数据集分为K个相等的子集&#xff0c;模型会轮流使用一个子集作为测试集&#xff0c;其余K-1个子集作为训练集。这个过程会…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook&#xff0c;用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途&#xff0c;下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06&#xff08;十亿美元&#xff09;。漏洞扫描服务市场行业预计将从 2024 年的 3.48&#xff08;十亿美元&#xff09;增长到 2032 年的 9.54&#xff08;十亿美元&#xff09;。预测期内漏洞扫描服务市场 CAGR&#xff08;增长率&…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...