6打印文件

2023-11-02

原题链接:【满分】【华为OD机试真题2023 JAVA】 打印文件_若博豆的博客-CSDN博客

本来以为需要用map, 还复习了一下语法, 原来不需要, 用vector存三元数组, 两个pair嵌套就可以

#include <iostream>
#include <map>

using namespace std;

int main()
{
    map<int, int> map_a;
    map_a[1] = 1;
    map_a[2] = 2;
    map_a[5] = 3;
    map_a[4] = 4;
    for (auto it = map_a.begin(); it != map_a.end(); it++)
        cout << it->first << ':' << it->second << '\n';
    return 0;
}

三元的pair 存到vector就可以了

测了两次没问题, 我太牛了哈哈哈

输入:

7
IN 1 1
IN 1 2
IN 1 3
IN 2 1
OUT 1
OUT 2
OUT 2

输出

3  4  null

5
IN 1 1
IN 1 3
IN 1 1
IN 1 3
OUT 1

输出

2

代码: 

#include <iostream>
#include <algorithm>

#define x first
#define y second

using namespace std;

const int N = 1010;
typedef pair<int, pair<int, int>> PII;

int m;
vector<PII> alls;

int main()
{
    scanf("%d", &m);
    int count = 1;//文件的编号
    
    while(m -- ) {
        string op;
        
        cin >> op;
        int p, n;
        bool flag = false;
        
        if(op == "IN") 
        {
            scanf("%d%d", &p, &n);//打印机编号p, 优先级n
            alls.push_back({n, {count, p}});
            count ++ ;
            
            //sort(alls.rbegin(), alls.rend());//按照n排序
            sort(alls.rbegin(), alls.rend(), [](const PII &a, const PII &b){
                return a.x < b.x; // 先按照优先级n降序, 再按照插入顺序count升序
            });
            
            // for(auto e : alls) 
            // {
            //     cout << e.x << ' '<< e.y.x << ' ' << e.y.y << endl;
            // } cout << endl;
        } 
        else if(op == "OUT")
        {
            scanf("%d", &p);
            
            int len = alls.size();
            //遍历输出结果
            for(int i = 0; i < len; i ++ ) 
            {
                //如果有结果 输出结果, 在数组中删除该数 flag=true, 退出循环
                if(alls[i].y.y == p) 
                {
                    cout << alls[i].y.x << endl;
                    auto iter = alls.erase(alls.begin() + i);//删除元素

                    flag = true;
                    break;
                } 
            }
            //如果遍历完都没有结果, flag还是false 输出NULL
            if(flag == false) cout << "NULL" << endl;
            flag = false;
        }
    }
    return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

6打印文件 的相关文章

  • 如何引用 .net 可执行文件中的类?

    IL 反汇编程序显示了我想在项目中使用的 Net 可执行文件中的类 我如何使用我自己项目中的这些类 从 Visual Studio 上的项目添加对该可执行文件的引用 您应该有权访问它定义的公共类 可执行文件是一个像任何其他程序集一样的程序集
  • Hololens 应用程序将不再构建 - 引用元数据文件丢失且找不到 c-Sharp.firstpass

    我已按照 Microsoft 在其多个项目下列出的确切步骤进行操作微软全息 学院 https developer microsoft com en us windows holographic academy教程 我完成了所有这些 并且从创
  • 增强缓冲区调用后丢失自定义点类型的数据

    我有我自己的观点 class LocationWayPoint public latlong container location WORD index PWeakBasicStation station namespace boost n
  • ICSharpCode.Decompiler + Mono.Cecil -> 如何为单个方法生成代码?

    我可以使用 Mono Cecil 和 ICSharpCode Decompiler 生成类型或程序集的代码 但是 如果我尝试为单个方法生成代码 我将收到错误 对象引用未设置为对象的实例 你们能给我任何关于这个的提示吗 提前感谢您的所有帮助
  • Image.FromStream() 方法返回 Invalid Argument 异常

    我正在从智能相机成像器捕获图像 并通过套接字编程从相机接收字节数组 NET 应用程序是客户端 相机是服务器 问题是我在运行时收到 System InvalidArgument 异常 private Image byteArrayToImag
  • 使用 C# 启动 Outlook

    我可以让 C 在代码中启动 Outlook 吗 在 VB6 中 我们使用对象 Outlook Application 并编写 Set oOutlook CreateObject Outlook Application Set oNameSp
  • std::string substr 方法问题

    你好 我正在写这个方法 我希望它从给定缓冲区中提取给定位置的一部分 我有一个像这样的字符串something one something two我想要得到 一个 这是我的想法 static std string Utils getHeade
  • 隐式转换和编译器的不同行为

    Motivated by this question https stackoverflow com q 51972738 5800831 I created the following code struct X X int struct
  • 如何将8字节的十六进制数输入到char数组中?

    我想生成以以下开头的十六进制数字序列07060504003020100 下一个数字是0f0e0d0c0b0a0908等等按这个顺序 当我使用unsigned long long int并输出数据的前4位 这意味着0被截断 它打印706050
  • 检查字符串中是否存在所有字符值

    我目前正在做这项任务 但我被困住了 目标是读取文件并查找文件中的字符串中是否存在这些字符值 我必须将文件中的字符串与作为参数放入的另一个字符串进行比较 但是 只要每个字符值位于文件中的字符串中 那么它就 匹配 示例 输入和输出 a out
  • IOS Box2D - 身体遵循基于速度波动的点数组的特定路径

    我有一个关于身体的问题 它遵循特定的路径 首先是将身体移动到目标点的方法 const float destinationControl 0 3f b2Vec2 targetPosition path counter b2Vec2 missi
  • 在 Windows 上构建 MLT 框架时出错

    我一直在遵循官方提供的构建指南here http www mltframework org bin view MLT WindowsBuild 我需要 MLT 来创建视频播放器 并且我选择仅安装前 4 个库 如指南中所述 FFmpeg SD
  • 如何获取 EF 中的实体更改增量?

    我只需要获取已更改字段的列表 数据存储区是 ssce 因此没有可用的触发器 EF 是否支持获取列表或构建通用组件 根据上下文的类型和生成的实体 您可以通过多种不同的方式来完成此操作 如果对象继承自 Entity 或 POCO 您可以使用Ob
  • 是否有普遍接受的 GMP 替代方案来实现任意精度? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在寻找 BigInt 库的过程中 我发现了这篇文章 Microsoft Windows 上的 C 或
  • 使用智能指针在大型对象集合中创建多个索引

    我正在为一个大型对象集合创建多个索引 即使用不同的键 对象可以改变 集合可以缩小和增长 到目前为止我的想法 保留某种指向对象的指针的多个集合 使用set代替map以获得更好的封装 使用 unordered set 可以很好地扩展大型数据集
  • 如何使用 C# 以编程方式识别对方法的引用数量

    我最近继承了需要一些修剪和清理的 C 控制台应用程序 长话短说 该应用程序由一个包含超过 110 000 行代码的类组成 是的 单个类中有超过 110 000 行 当然 该应用程序是我们业务的核心 全天候运行更新动态网站上使用的数据 尽管我
  • 使用 System.Windows.Forms.Timer.Start()/Stop() 与 Enabled = true/false

    假设我们在 Net 应用程序中使用 System Windows Forms Timer 在计时器上使用 Start 和 Stop 方法与使用 Enabled 属性之间有什么有意义的区别吗 例如 如果我们希望在进行某些处理时暂停计时器 我们
  • 偏专业化朋友声明

    在下面的代码中 template
  • 编写一个转储屏幕像素的 RDP 客户端

    我想在中实现 RDP 客户端C 它能够获取屏幕所有像素的颜色值并将它们转储到文件中 我知道这在概念上与 RDP 的工作方式不同 但我的应用程序需要它 我正在尝试利用freerdp https github com FreeRDP FreeR
  • WPF - 将窗口置于前面

    我有一个 WPF 窗口 我没有关闭它 相反 我执行 Hide 和 Show 它 现在 当我双击记录上网格中的主窗口时 这将触发 Show 窗口 该窗口将始终显示在主窗口后面 我尝试过以下方法 但没有成功 view Show view Act

随机推荐

  • libevent使用点滴(1)使用libevent调用evthread_use_pthreads的一个可能的内存泄露

    使用libevent时为了保证线程安全 提供了evthread use pthreads函数 他的内部是会分配内存的 但是没有对应的函数来反释放evthread use pthreads分配的内存 那么在如下的场景用evthread use
  • [007]爬虫系列

    一 备注 在阅读此文章前 请先阅读前两篇 007 爬虫系列 猿人学爬虫攻防大赛 第五题 js混淆 乱码增强 上 007 爬虫系列 猿人学爬虫攻防大赛 第五题 js混淆 乱码增强 中 本篇文章某个流程出了问题 即 直接贴代码 最后可能返回40
  • eclipse怎么查看开发包jar里源代码

    最近我打算学习一下谷歌的类库Guava 下载了Guava r09 jar包及其源码 为了可以方面的 看其源码 我将其源码导入 下面是导入的方法 我用的是eclipse 在Eclipse查看开发包jar源码的方法如下 1 选择项目 右键中单击
  • QDialog的相关API函数

    目录 常用的一些 API 函数 QDialog 的子类 QMessageBox QFileDialog QFont 字体类 QColorDialog QInputDialog QProgressDialog 总结 QDialog是Qt框架中
  • 单片机之瑞萨RL78 串口通信的例子

    瑞萨RL78 串口通信 瑞萨RL78 G1D单片机的串口收发数据的例子 在此示例中 我们将使用串口0 波特率为9600 include rl78g1d h define UART0 RECEIVE BUFFER U0RBR define U
  • SpringBoot集成Hasor-Dataway数据查询接口

    目录 一 前言 1 Hasor Core Core 容器框架 设计思想 特性 2 Hasor Web Web 框架 3 Hasor DB JDBC 框架 特性 4 Hasor DataQL DataQL 服务查询引擎 设计思想 特性 数据类
  • python中print的本质_python数据分析、挖掘常用工具,让你看到不一样的数据分析...

    Python语言 简要概括一下Python语言在数据分析 挖掘场景中常用特性 列表 可以被修改 元组 不可以被修改 字典 结构 集合 同数学概念上的集合 函数式编程 主要由lambda map reduce filter 构成 Python
  • 用两个stack实现queue

    stack和queue都是一种线性结构 要用stack实现queue的push和pop方法 我们首先需要了解下这两种结构的特点 stack 数据先进后出 queue 数据先进先出 我们记两个stack分别是head tail 我们的想法是这
  • Vue3中toRef函数与toRefs函数

    在Vue 3中 toRef和toRefs用于处理响应式数据 toRef函数接受一个响应式对象和一个键 返回一个只读的Ref对象 这意味着当原始数据发生变化时 toRef创建的Ref对象也会更新 toRefs函数接受一个响应式对象 react
  • C语言中如何不通过第三变量交换a、b两个变量值

    要求不能使用第三变量来达到交换两个变量值呢 方法一 include
  • vue拖拽组件(app移动端)

    vue拖拽组件
  • 09-多窗口切换-window_handles

    1 常用方法 使用背景 有些网站点击链接会新打开一个tab 如下图打开了两个浏览器窗口 元素定位正确 调试时一直报错 原因是未切换到对应的窗口句柄 切换到对应的窗口句柄才可以正常操作 current window handle 获得当前窗口
  • 联想拯救者Y7000P2023 Ubuntu20.04网卡驱动AX211安装

    sudo apt install flex bison git clone https github com intel backport iwlwifi git cd backport iwlwifi cd iwlwifi stack d
  • 2021年字节跳动74道高级程序员面试,附大厂真题面经

    安卓开发大军浩浩荡荡 经过近十年的发展 Android技术优化日异月新 如今Android 11 0 已经发布 Android系统性能也已经非常流畅 可以在体验上完全媲美iOS 但是 到了各大厂商手里 改源码 自定义系统 使得Android
  • 树的序列化与反序列化java - Kaiqisan

    大家好 都吃晚饭了吗 我是Kaiqisan 是一个已经走出社恐的一般生徒 为什么引入这个概念 在计算机中 如果我们如果想要可视化一棵树 那会是非常困难的工作 所以 我们就想到了一种最简单的方法来表示一棵树 而且只使用字符串 也可以区分每一颗
  • 如何使用DedeCMS制作网站首页轮播图?

    使用 DedeCMS 制作网站很多年了 做过不少网站 也为不少 DedeCMS 网站解决过不少小问题 轮播图 或者叫幻灯片 是每个网站 首页 都有的元素了 DedeCMS 并没有像有些网站管理程序一样 提供一个直接管理网站轮播图的功能 好几
  • 使用wget命令下载父目录下的整个子目录

    使用wget命令下载父目录下的整个子目录 命令如下 wget r level 0 E ignore length x k p erobots off np N http www remote com remote presentation
  • sqli-labs/Less-62

    欢迎界面提示我们一共由130次机会 而且还是以id作为注入点 每次重置都会随机分配表名 字段名 表格数据 首先判断注入类型 输入id 1 and 1 2 回显如下 说明不属于数字型 接着输入1 回显如下 没有回显 说明注入点带有单引号 佐证
  • 【研发必备】45 个 Git 经典操作场景,专治不会合代码

    git对于大家应该都不太陌生 熟练使用git已经成为程序员的一项基本技能 尽管在工作中有诸如 Sourcetree这样牛X的客户端工具 使得合并代码变的很方便 但找工作面试和一些需彰显个人实力的场景 仍然需要我们掌握足够多的git命令 下边
  • 6打印文件

    原题链接 满分 华为OD机试真题2023 JAVA 打印文件 若博豆的博客 CSDN博客 本来以为需要用map 还复习了一下语法 原来不需要 用vector存三元数组 两个pair嵌套就可以 include