博客
关于我
PAT (Basic Level) Practice 乙级1041-1045
阅读量:795 次
发布时间:2023-02-26

本文共 1474 字,大约阅读时间需要 4 分钟。

为了解决这个问题,我们需要根据给定的试机座位号,找出对应的考试座位号。我们可以使用哈希表来存储每个试机座位号对应的准考证号和考试座位号,这样查询时可以非常高效。

方法思路

  • 读取输入数据:首先读取考生信息,包括准考证号、试机座位号和考试座位号。将这些信息存储在一个哈希表中,哈希表的键是试机座位号,值是一个包含准考证号和考试座位号的对。
  • 处理查询:读取待查询的试机座位号,逐个查找哈希表,输出对应的准考证号和考试座位号。
  • 这种方法的时间复杂度是O(N + M),其中N是考生信息的数量,M是待查询的数量。由于N和M的范围都不大,这种方法非常高效。

    解决代码

    #include 
    #include
    #include
    using namespace std;int main() { int n; cin >> n; unordered_map
    > seat_map; for (int i = 0; i < n; ++i) { string line; getline(cin, line); size_t first_space = line.find(' '); size_t second_space = line.find(' ', first_space + 1); string z = line.substr(0, first_space); string s = line.substr(first_space + 1, second_space - first_space - 1); string k = line.substr(second_space + 1); int s_num = stoi(s); int k_num = stoi(k); seat_map[s_num] = make_pair(z, k_num); } int m; cin >> m; for (int i = 0; i < m; ++i) { string line; getline(cin, line); size_t pos = line.find(' '); string ss = line.substr(0, pos); int s_num = stoi(ss); auto it = seat_map.find(s_num); if (it != seat_map.end()) { string z = it->second.first; int k = it->second.second; cout << z << ' ' << k << endl; } } return 0;}

    代码解释

  • 读取输入:首先读取N,然后读取N行的考生信息。每行的信息拆分成准考证号、试机座位号和考试座位号,并存储到哈希表中。
  • 查询处理:读取M个试机座位号,逐个查找哈希表,输出对应的准考证号和考试座位号。
  • 这种方法确保了高效查询和处理,能够快速解决问题。

    转载地址:http://cxvfk.baihongyu.com/

    你可能感兴趣的文章
    opencv图像分割2-GMM
    查看>>
    OpenCV(1)读写图像
    查看>>
    OpenCV:概念、历史、应用场景示例、核心模块、安装配置
    查看>>
    Openlayers图文版实战,vue项目从0到1做基础配置
    查看>>
    Openlayers高级交互(10/20):绘制矩形,截取对应部分的地图并保存
    查看>>
    Openlayers高级交互(16/20):两个多边形的交集、差集、并集处理
    查看>>
    Openlayers高级交互(17/20):通过坐标显示多边形,计算出最大幅宽
    查看>>
    Openlayers高级交互(19/20): 地图上点击某处,列表中显示对应位置
    查看>>
    openlayers:圆孔相机根据卫星经度、纬度、高度、半径比例推算绘制地面的拍摄的区域
    查看>>
    OpenLDAP(2.4.3x)服务器搭建及配置说明
    查看>>
    OpenMCU(一):STM32F407 FreeRTOS移植
    查看>>
    OpenMCU(二):GD32E23xx FreeRTOS移植
    查看>>
    OpenMMLab | S4模型详解:应对长序列建模的有效方法
    查看>>
    OpenMMLab | 【全网首发】Llama 3 微调项目实践与教程(XTuner 版)
    查看>>
    OpenMMLab | 面向多样应用需求,书生·浦语2.5开源超轻量、高性能多种参数版本
    查看>>
    OpenObserve云原生可观测平台本地Docker部署与远程访问实战教程
    查看>>
    OpenPPL PPQ量化(4):计算图的切分和调度 源码剖析
    查看>>
    OpenPPL PPQ量化(5):执行引擎 源码剖析
    查看>>
    openpyxl 模块的使用
    查看>>
    Openresty框架入门详解
    查看>>