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打印文件 的相关文章

  • 删除文件的最后 10 个字符

    我想删除文件的最后 10 个字符 说一个字符串 hello i am a c learner 是文件内的数据 我只是希望该文件是 hello i am a 文件的最后 10 个字符 即字符串 c learner 应在文件内消除 解决方案 将
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 为什么 GCC 不允许我创建“内联静态 std::stringstream”?

    我将直接前往 MCVE include
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 如何在 C++ 中标记字符串?

    Java有一个方便的分割方法 String str The quick brown fox String results str split 在 C 中是否有一种简单的方法可以做到这一点 The 增强分词器 http www boost o
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • x:将 ViewModel 方法绑定到 DataTemplate 内的事件

    我基本上问同样的问题这个人 https stackoverflow com questions 10752448 binding to viewmodels property from a template 但在较新的背景下x Bind V
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • 为什么 isnormal() 说一个值是正常的,而实际上不是?

    include
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat

随机推荐

  • 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