算法题解-- stl

2023-05-16

周末舞会

题目描述
​ 假设在周末舞会上,X 名男士和 Y 名女士进入舞厅时,各自排成一队,并分别按顺序编号。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。规定每个舞曲只能有一对跳舞者。跳完舞的人回到队尾。输出前 N 首舞曲的跳舞者编号。

输入
​ 一行三个数 X,Y,N。

输出
​ 输出共 N 行,一行两个数,分别代表跳这支舞曲的男士编号和女士编号,两数之间用空格隔开。

样例输入

3 5 6

样例输出

1 1
2 2
3 3
1 4
2 5
3 1
#include<iostream>
#include <queue>
using namespace std;

int m, w, n;

int main() {
    cin >> m >> w >> n;
    queue<int> man, wman;
    for (int i = 1; i <= m; i++) {
        man.push(i);
    }
    for (int i = 1; i <= w; i++) {
        wman.push(i);
    }
    for (int i = 1; i <= n; i++) {
        cout << man.front() << " " << wman.front() << endl;
        man.push(man.front());
        wman.push(wman.front());
        man.pop();
        wman.pop();
    }
    return 0;
}

合并果子
输入
​ 输入包括两行,第一行是一个整数 n(1≤n≤10000),表示果子的种类数。

​ 第二行包含 n 个整数,用空格分隔,第 i 个整数 ai(1≤ai≤20000) 是第 i 种果子的数目。

输出
​ 输出包括一行,这一行只包含一个整数,也就是最小的体力耗费值。输入数据保证这个值小于 231。

样例输入
3
1 2 9
样例输出
15




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

int n, sum, ans;


int main() {
    cin >> n;
    priority_queue<int, vector<int>, greater<int>> que;
    for (int i = 1; i <= n; i++) {
        int t;
        cin >>  t;
        que.push(t);
    }
    while (que.size() >= 2) {
        int temp1 = que.top();
        que.pop();
        int temp2 = que.top();
        que.pop();
        sum = temp1 + temp2;
        ans += sum;
        que.push(sum);
    }
    cout << ans << endl;
    return 0;
}

报数

输入
​ 共一行两个数 N 和 M。

输出
​ 输出一个数表示最后一人的编号。

样例输入
7 3
样例输出
4

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

int n, m, now = 1;

int main() {
    cin >> n >> m;
    queue<int> cir;
    for (int i = 1; i <= n; i++) {
        cir.push(i);
    }
    while (cir.size() != 1) {
        if (now != m) {
            cir.push(cir.front());
            now++;
            cir.pop();
        }
        else {
            cir.front();
            cir.pop();
            now = 1;
        }
    }
    cout << cir.front() << endl;
    return 0;
}

字符串匹配

输入
​ 一行一个字符串,以字符@为结尾。

输出
​ 若匹配,输出 YES,若不匹配,则输出 NO。

样例输入
a(cc())bbb()@
样例输出
YES
样例输入2
a(cc()bbb()@
样例输出2
NO

借助栈实现: 字符串中字符与入栈的字符比较, 匹配则出栈, 不匹配则输出不匹配;


#include<iostream>
#include <stack>
#include <string>
using namespace std;

string s;

int main() {
    cin >> s;
    stack<char> str;
    for (int i = 0; i < s.size(); i++) {
        if (s[i] == '(' || s[i] == '[' || s[i] == '{') {
            str.push(s[i]);
        }
        else if(s[i] == ')') {
            if (str.empty() || str.top() != '(') {
                cout << "NO" << endl;
                return 0;
            }
            str.pop();
        }
        else if (s[i] == '}') {
            if (str.empty() || str.top() != '{')  {
                cout << "NO" << endl;
                return 0;
            }         
            str.pop();
        }
        else if (s[i]  == ']') {
            if (str.empty() || str.top() != '[') {
                cout << "NO" << endl;   
                return 0;
            }
            str.pop();
        }
        
    }
    if (str.empty()) {
        cout << "YES" << endl;
    }
    else {
        cout << "NO" << endl;
    }
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

算法题解-- stl 的相关文章

  • frankmocap

    1 配置和报错 1 1 模块缺失 ModuleNotFoundError No module named detectors body pose estimator pose2d models 下载问题 xff0c 下载完之后该文件夹下面的
  • java的三种代码注释方式

    1 注释的作用 注释是对程序语言的说明 xff0c 有助于开发者之间的交流 xff0c 方便理解和维护程序 注释不是编程语句 xff0c 不会被编译器执行 一些代码量少较少的程序 xff0c 我们加不加注释对我们的理解和修改代码没有太大影响
  • UCOS的多任务

    初学UCOS多任务调度 xff0c 总是有这样一个疑惑 xff1a 为什么多使用多任务 xff0c 写多个函数不就可以了吗 xff1f 随着不断学习 xff0c 后面终于有了一个答案 多任务是并发执行 xff0c 每个任务都做一点 xff1
  • IAR编译成功,但烧录不进去

    把默认的Simulator改为ST LINK试试 xff1f
  • ipmitool使用

    BMC IPMI常用命令 BMC Baseboard Management Controler 提供了多种通道来和主机通信 xff0c 进而检测主机的温度 风扇转速 电压 电源和现场可替代器件 为了便于用户使用 xff0c 它提供了非常丰富
  • 基于LMI的等效滑模控制

    目录 前言 1 一阶欠驱动倒立摆系统 2 基于LMI的等效滑模控制器 3 simulink仿真 3 1 simulink模型 3 2 结果分析 3 2 结论 前言 关于LMI和滑模控制的结合上两篇文章已有介绍和仿真分析 xff0c 本篇文章
  • 基于扩张观测器(LESO)的滑模控制

    目录 前言 1 二阶系统LESO观测器设计 2 基于LESO的滑模控制器设计 3 仿真分析 普通高增益项 3 1仿真模型 3 2仿真结果 3 3 总结 4 仿真分析 优化后的高增益项 4 1 优化高增益项 4 2仿真结果 4 2 1 高增益
  • 基于遗传算法和粒子群算法的PID悬架控制、LQR悬架控制和滑模悬架控制

    目录 1 基于遗传算法和粒子群算法的的PID悬架控制 1 1 两种悬架系统 1 1 1 将路面激励整合到悬架系统 1 1 2 不将路面激励整合到悬架系统 1 1 3 总结 1 2 PID经典控制理论 1 3 优化PID参数的目标函数和约束条
  • 2自由度陀螺仪滑模控制和PID控制跟踪目标轨迹

    目录 前言 1 陀螺仪模型 2 滑模跟踪控制 3 PID控制 4 总结 1 陀螺仪模型 2 滑模跟踪控制 对于2自由度陀螺仪有两个方向x y跟踪 xff0c 所以需要分别为两个方向单独设计滑模面 xff0c 这里仍以简单的线性滑模面设计分析
  • 自抗扰控制ADRC之三种微分跟踪器TD仿真分析

    目录 前言 1 全程快速微分器 1 1仿真分析 1 2仿真模型 1 3仿真结果 1 4结论 2 Levant微分器 2 1仿真分析 2 2仿真模型 2 3仿真结果 3 非线性跟踪微分器 韩教授 3 1仿真分析 3 2小结 4 总结 前言 工
  • 自抗扰控制ADRC之扩张观测器

    目录 前言 1 被控对象 被观测对象 2 非线性观测器 2 1仿真分析 2 2仿真模型 2 3仿真结果 3 线性观测器 3 1仿真模型 3 2仿真结果 4 总结和学习问题 前言 什么叫观测器 xff1f 为什么该类观测称为扩张观测器 xff
  • 基于神经网络(RBF)补偿的双关节机械手臂自适应控制

    目录 前言 1 双关节机械手臂模型 1 1 实际模型 1 2 名义模型 2 控制律设计 3 神经网络补偿自适应律设计 3 1自适应律 3 2自适应律 4 仿真分析 4 1仿真模型 4 2 仿真结果 4 3 小结 5学习问题 前言 所谓的补偿
  • PID、模糊PID、SkyHook、LQR、H2/H∞、ADRC等悬架控制合集

    罗列一下现成的悬架模型以及应用的控制算法 xff1a PID 模糊PID SkyHook LQR H2 H ADRC等 xff0c 以及kalman观测器 xff1a 半车 前后 左右 整车悬架详细推导建模和simulink仿真分析 侧倾
  • 1086:角谷猜想(C C++)

    题目描述 谓角谷猜想 xff0c 是指对于任意一个正整数 xff0c 如果是奇数 xff0c 则乘3加1 xff0c 如果是偶数 xff0c 则除以2 xff0c 得到的结果再按照上述规则重复处理 xff0c 最终总能够得到1 如 xff0
  • 渗透测试工具之Metasploit Framework(MSF)

    一 Metasploit Framework xff08 MSF xff09 简介 Metasploit是当前信息安全与渗透测试领域最流行的术语 xff0c 它的出现颠覆了以往的已有的渗透测试的方式 几乎所有流行的操作系统都支持Metasp
  • Test Case Framework (TCF) 简介

    TCF is a system that simplifies the creation and execution of test cases automation for that matter with minimal setup e
  • 小菜鸡的第一天

    1 CPU分配 xff0c i5四核所以给Linux分配两个核 2 内存分配 xff0c 有16GB所以分配8个g 3 硬盘 xff0c 需要创立一个独立的分区 xff0c 最好300G以上 xff08 由于个人原因分配了60G xff09
  • 小菜鸡的第二天

    绝对路径 xff1a 以 开头 代表当前路径 xff0c 或者 代表上一级目录 xff0c 或者 插入U盘之后 xff0c 在 dev文件夹下输入 ls sd 可以看到U盘信息 xff0c 要想知道插入的U盘是哪个 xff0c 重新插拔再次
  • 小菜鸡的第三天

    压缩与解压 tar vcjf 43 文件名 tar bz2 xxx xxx是要压缩的文件名 压缩命令 tar vxjf 43 xxx tar bz2 xxx是要解压缩的文件名 解压缩命令 f xff1a 使用归档文件或ARCHIVE设备 c
  • 初级算法:判断数组是否存在重复元素

    qsort函数原型是 void qsort xff08 void base size t num size t width int cdecl compare const void const void xff09 4个参数 xff1a v

随机推荐

  • 初级算法:删除排序数组中的重复项

    因为数组是排序的 xff0c 只要是相同的肯定是挨着的 xff0c 我们只需要遍历所有数组 xff0c 然后前后两两比较 xff0c 如果有相同的就把后面的给删除 双指针解决 使用两个指针 xff0c 右指针始终往右移动 xff0c 如果右
  • 运算符重载

    加号运算符重载 作用 xff1a 实现两个自定义数据类型相加的运算 span class token keyword class span span class token class name Person span span class
  • .在python中的作用

    的作用 点把前后连起来 xff0c 构成一种索引机制 前面是库 后面是函数 ex xff1a pybullet setAdditionalSearchPath是指在pybullet的库中引用setAdditionalSearchPath这个
  • ROS服务通信(七)C++、Python实现

    目录 简介 理论模型 服务通信自定srv 创建srv 编辑配置文件 C 43 43 实现 vscode配置 服务端实现 客户端实现 优化 Python实现 服务端实现 客户端实现 简介 服务通信也是ROS中一种极其常用的通信模式 xff0c
  • ROS中的API:C++、Python(十)实现及理解

    目录 简介 C 43 43 初始化 话题与服务相关对象 回旋函数 ros xff1a xff1a spinOnce xff08 xff09 ros xff1a xff1a spin xff08 xff09 时间相关API 时刻 持续时间 持
  • ROS Gazebo安装入门及仿真室内环境和小车实现(十九)

    目录 安装 简介 URDF与Gazebo基本集成流程 创建功能包 编写URDF文件 启动Gazebo并显示模型 launch 文件实现 命令行启动 xff08 去掉launch中的第三行加载模型 xff09 集成到launch里启动 URD
  • Test Case Framework (TCF) tcf 参数

    root 64 embargo ww13 tcf help usage tcf h v log pid tid log time config file CONFIG FILE py p CONFIG PATH state path STA
  • 第一章操作系统引论测验错题整理(二)

    中断和特权级 计算机系统中判断是否有外部中断事件发生应该在 xff09 A 进程切换时 B 执行完一条指令后 C 执行一条指令过程中 D 由用户态转入内核态时 B 解析 xff1a 因果关系 xff0c 指令执行了才知道 从用户态到内核态的
  • 多旋翼飞行器设计与控制(三)—— 机架设计

    多旋翼飞行器设计与控制 xff08 三 xff09 机架设计 一 布局设计 1 机身基本布局 共有三种 xff1a 环型 43 字型 X字型 常用X字型 xff1a 机动性更强前视相机的视场角不容易被遮挡 环形的特点 xff1a 刚性更大避
  • 路径规划与轨迹优化 —— Dijkstra算法寻找最短路径

    一 算法思路 Dijkstra算法是一种用来寻找最短路径的算法 xff0c 其中涉及的思想有贪心 动态规划 广度优先搜索等 图中g n 代表的时代价 xff0c 在机器人路径规划中可以理解为距离 二 代码 源码来源于Github xff0c
  • VSCode远程连接免密登录

    配置了VSCode远程连接服务器 xff0c 但每次打开project都需要重新输入密码 xff0c 比较麻烦 xff0c 所以下面就介绍一下如何免密码登入 在上一篇blog里面配置好VSCode远程连接服务器之后按照如下操作 步骤如下 x
  • raspberry(树莓派)的简介及实验

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 树莓派是什么 xff1f 二 使用步骤 1 主要Pin脚的编号2 使用硬件3 连接树莓派Pin位4 使用代码实验 总结
  • 深度学习环境配置Anaconda+cuda+cudnn+PyTorch——李沐大神《动手学深度学习》环境配置(巨详细,持续迭代)

    李沐大神 动手学深度学习 安装篇 通用AI 深度学习 机器学习环境 Anaconda 43 cuda 43 cudnn 43 Pytorch 手把手教你安装深度学习环境 xff09 这里是GPU 43 PyTorch版本 文章目录 李沐大神
  • FreeRTOS-任务间共享数据的管理框架

    本文章介绍一种在FreeRTOS项目中任务间共享数据的管理框架 xff0c 思路比较简单 任务在更新和获取共享数据时利用互斥量进行上锁保护数据 xff0c 操作完之后进行解锁 xff0c 并且当共享数据使用setting 更新时调用对应的回
  • 树莓派、Jetson nao在ROS下进行darknet深度学习识别物体大致方向及流程

    目标成果 xff1a 在linux设备中启用darknet ros 0 如何获得darknet ros源码 xff1a 渠道1 xff1a github的darknet ros 渠道2 xff1a gitee的darknet ros xff
  • 如何重新设置Ubuntu20.04用户密码以及管理员密码

    当我们在Windows上安装VMwareWorkstation虚拟机上运行Linux系统发现一件尴尬的事情 那就是 忘记密码了 解决方法具体如下 一 在VMwareWorkstation虚拟机上方工具栏选中重新启动客户机 xff0c 启动后
  • STM32CubeMX 修改下载文件(固件包)的存储路径

    当我们在使用STM32CubeMX 的过程中 xff0c 会有一些文件下载像各种STM32Cube FW固件开发包 如果安装了CubeMxIDE这个图形化工具 xff0c 我们就不用去官方下载了 可极大的节省开发效率 在win10和win7
  • Test Case Framework (TCF) tcf 刷机/AC/KVM 基本使用(一)

    移除属于我的机器 tcf alloc rm tcf alloc ls q u self 查看机器版本 tcf ls vv targetname 串口log tcf console read spr40s01 c log flash bios
  • 多线程CompletableFuture之常用方法示例

    文章目录 前期准备1 runAsync2 supplyAsync3 thenRunAsync4 thenAcceptAsync5 runAfterBothAsync6 thenCombineAsync7 exceptionally8 han
  • 算法题解-- stl

    周末舞会 题目描述 假设在周末舞会上 xff0c X 名男士和 Y 名女士进入舞厅时 xff0c 各自排成一队 xff0c 并分别按顺序编号 跳舞开始时 xff0c 依次从男队和女队的队头上各出一人配成舞伴 规定每个舞曲只能有一对跳舞者 跳