当前位置:   article > 正文

6打印文件|华为od机考_华为od 打印文件

华为od 打印文件

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

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

  1. #include <iostream>
  2. #include <map>
  3. using namespace std;
  4. int main()
  5. {
  6. map<int, int> map_a;
  7. map_a[1] = 1;
  8. map_a[2] = 2;
  9. map_a[5] = 3;
  10. map_a[4] = 4;
  11. for (auto it = map_a.begin(); it != map_a.end(); it++)
  12. cout << it->first << ':' << it->second << '\n';
  13. return 0;
  14. }

三元的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

代码: 

  1. #include <iostream>
  2. #include <algorithm>
  3. #define x first
  4. #define y second
  5. using namespace std;
  6. const int N = 1010;
  7. typedef pair<int, pair<int, int>> PII;
  8. int m;
  9. vector<PII> alls;
  10. int main()
  11. {
  12. scanf("%d", &m);
  13. int count = 1;//文件的编号
  14. while(m -- ) {
  15. string op;
  16. cin >> op;
  17. int p, n;
  18. bool flag = false;
  19. if(op == "IN")
  20. {
  21. scanf("%d%d", &p, &n);//打印机编号p, 优先级n
  22. alls.push_back({n, {count, p}});
  23. count ++ ;
  24. //sort(alls.rbegin(), alls.rend());//按照n排序
  25. sort(alls.rbegin(), alls.rend(), [](const PII &a, const PII &b){
  26. return a.x < b.x; // 先按照优先级n降序, 再按照插入顺序count升序
  27. });
  28. // for(auto e : alls)
  29. // {
  30. // cout << e.x << ' '<< e.y.x << ' ' << e.y.y << endl;
  31. // } cout << endl;
  32. }
  33. else if(op == "OUT")
  34. {
  35. scanf("%d", &p);
  36. int len = alls.size();
  37. //遍历输出结果
  38. for(int i = 0; i < len; i ++ )
  39. {
  40. //如果有结果 输出结果, 在数组中删除该数 flag=true, 退出循环
  41. if(alls[i].y.y == p)
  42. {
  43. cout << alls[i].y.x << endl;
  44. auto iter = alls.erase(alls.begin() + i);//删除元素
  45. flag = true;
  46. break;
  47. }
  48. }
  49. //如果遍历完都没有结果, flag还是false 输出NULL
  50. if(flag == false) cout << "NULL" << endl;
  51. flag = false;
  52. }
  53. }
  54. return 0;
  55. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/69638
推荐阅读
相关标签
  

闽ICP备14008679号