C++课后习题训练记录Day56

1.练习项目:

题目描述

蓝桥王国的每个快递都包含两个参数:1.快递单号 2.快递城市。

小李是蓝桥王国的一名快递员,每天的快递分拣让他苦不堪言。

于是他想要你帮他设计一个程序用于快递的分拣(将不同快递按城市信息分开)。

输入描述

输入第一行包含一个整数 NN,表示快递的个数。

接下来第 2∼N+1 行每行包含一个字符串 S 和一个字符串 P,分别快递单号以及快递对应的城市。

1≤N≤1e3,保证数据量不超过 1e6。

输出描述

输出共若干行。按城市的输入顺序依次输出城市的名称以及城市的快递个数,以及该城市的所有快递单号(单号按照输入顺序排序)。

2.选择课程

在蓝桥云课中选择题库,选择题号2490并开始练习。

3.开始练习

(1)源码:

#include<bits/stdc++.h>

using namespace std;

map<string,vector<string>>mp;

vector<string>citys;

int main()

{

ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);

int n;

cin>>n;

for(int i=0;i<n;i++){

string a,b;

cin>>a>>b;

if(!mp.count(b)){

citys.push_back(b);

}

mp[b].push_back(a);

}

for(const auto&city:citys){

cout<<city<<' '<<mp[city].size()<<'\n';

for(const auto&i:mp[city]){

cout<<i<<'\n';

}

}

return 0;

}

(2)检验结果

对此代码进行检验,检验后无报错,提交此代码,判题结果为正确100分。

(3)练习心得:map函数中当map的key不存在时,会自动创建一个以key为键的新条目,且使用该类型的默认构造函数初始化值,然后返回这个新值的引用;注意每段代码末尾的分号是否存在,如不存在则需即使补充;输入法是否切换为英语模式;语法是否错误。

相关推荐
小陈工6 分钟前
2026年4月7日技术资讯洞察:下一代数据库融合、AI基础设施竞赛与异步编程实战
开发语言·前端·数据库·人工智能·python
KAU的云实验台9 分钟前
【算法精解】AIR期刊算法IAGWO:引入速度概念与逆多元二次权重,可应对高维/工程问题(附Matlab源码)
开发语言·算法·matlab
会编程的土豆15 分钟前
【数据结构与算法】再次全面了解LCS底层
开发语言·数据结构·c++·算法
低频电磁之道19 分钟前
解决 Windows C++ DLL 导出类不可见的编译错误
c++·windows
jerryinwuhan26 分钟前
RDD第二次练习
开发语言·c#
wechat_Neal28 分钟前
Golang的车载应用场景
开发语言·后端·golang
weixin_513449961 小时前
walk_these_ways项目学习记录第八篇(通过行为多样性 (MoB) 实现地形泛化)--策略网络
开发语言·人工智能·python·学习
飞Link1 小时前
逆向兼容的桥梁:3to2 自动化降级工具实现全解析
运维·开发语言·python·自动化
曾阿伦1 小时前
Python3 文件 (夹) 操作备忘录
开发语言·python
dong__csdn1 小时前
jdk添加信任证书
java·开发语言