当前位置: 首页 > news >正文

L2-050 懂蛇语(测试点1)

目录

题目链接

思路

坑点

参考代码


题目链接

L2-050 懂蛇语 - 团体程序设计天梯赛-练习集

思路

创建一个map

  • 键:首字母组合的字符串
  • 值:对应的字符串数组

坑点

  • 测试点1:首字母就是空格

参考代码

#include <bits/stdc++.h>
#define debug(x) cout << endl << "===>" << #x << "=" << x << endl
#define output(x) cout << x << endl
#define int long long
using namespace std;

void solve() {
    int n;
    cin >> n;
    vector<string> v(n);//存n个字符串
    cin.ignore();//清除输入流,非常重要
    for(int i = 0; i < n; i++) {
        getline(cin, v[i]);
    }
    unordered_map<string, vector<string>> mp;//{首字母组合,对应的结果}
    for(int i = 0; i < n; i++) {
        string t = "";
        int len = v[i].length(), j = 0;
        //遍历输入的字符串
        while(j < len && v[i][j] == ' ') j++;//去掉前置空格
        while(j < len) {
            t.push_back(v[i][j]);//加入首字母
            while(j < len && v[i][j] != ' ') j++;
            while(j < len && v[i][j] == ' ') j++;
        }
        mp[t].push_back(v[i]);//存map
    }
    //按照字母序排序
    for(auto & pr : mp) {
        vector<string> &t = pr.second;
        sort(t.begin(), t.end());
    }
    int m;
    cin >> m;
    cin.ignore();//清除输入流,非常重要
    while(m--) {
        string s;
        getline(cin, s);
        string t = "";
        int len = s.length(), j = 0;
        while(j < len && s[j] == ' ') j++;
        while(j < len) {
            t.push_back(s[j]);
            while(j < len && s[j] != ' ') j++;
            while(j < len && s[j] == ' ') j++;
        }
        //找不到
        if(!mp.count(t)) {
            output(s);
            continue;//判断下一个
        }
		//找得到
        vector<string> tt = mp[t];
        for(int i = 0; i < tt.size(); i++) {
            if(i) cout << "|";//除了第一个不要竖线
            cout << tt[i];
        }
        cout << endl;
    }
}

signed main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    solve();
    return 0;
}

相关文章:

  • 微软推出首款量子计算芯片Majorana 1
  • MySQL中的索引
  • YOLOv11实战电力设备缺陷检测
  • VB.NET Asp.Net Core模板WebAPI应用-宝塔面板Linux系统通过Docker部署
  • 常见的 JavaScript 框架和库
  • OpenDriveVLA:通过大型视觉-语言-动作模型实现端到端自动驾驶
  • Qt Quick 与 Qt 版本匹配关系
  • 前后端开发的未来趋势
  • 内容中台:全域信息协同新引擎
  • RCE漏洞的小点总结
  • 高并发内存池:原理、设计与多线程性能优化实践
  • 【Kubernetes】Kubernetes 如何管理存储?PV 和 PVC 是如何工作的?
  • C++——清明
  • QScrollArea 内部滚动条 QSS 样式失效问题及解决方案
  • JavaScript逆向WebSocket协议解析与动态数据抓取
  • 【CMake】《CMake构建实战:项目开发卷》笔记-Chapter11-实践:基于onnxruntime的手写数字识别库
  • LENOVO联想ThinkBook 16 G6 ABP(21KK)恢复预装OEM原厂Win11系统镜像
  • 每日c/c++题 备战蓝桥杯(小球反弹)[镜像思路求解,最小公倍数]
  • 为什么 LoRA 梯度是建立在全量参数 W 的梯度之上
  • 面向对象编程(OOP)概述
  • 学校网站建设的作用/百度如何做广告
  • 做外贸的都有那些网站/武汉网站排名推广
  • 高端网站开发制作/搜索引擎优化师工资
  • 上海平台网站建设企业/seo的定义
  • 用jsp做的网站框架/百度产品大全首页
  • 长春关键词排名优化/百度网站关键词优化