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为键的新条目,且使用该类型的默认构造函数初始化值,然后返回这个新值的引用;注意每段代码末尾的分号是否存在,如不存在则需即使补充;输入法是否切换为英语模式;语法是否错误。

相关推荐
编程小Y2 小时前
C++ Insights
开发语言·c++
小c君tt2 小时前
QT中想在QTextEdit控件中使用Qslog日志输出出现问题原因及解决方法
开发语言·qt
王老师青少年编程2 小时前
csp信奥赛C++标准模板库STL案例应用5
c++·stl·set·集合·标准模板库·csp·信奥赛
历程里程碑3 小时前
hot 206
java·开发语言·数据结构·c++·python·算法·排序算法
csbysj20203 小时前
菜单(Menu)
开发语言
Tipriest_3 小时前
C++ 的 ranges 和 Python 的 bisect 在二分查找中的应用与实现
c++·python·算法·二分法
誰能久伴不乏3 小时前
epoll 学习踩坑:`fcntl` 设置非阻塞到底用 `F_SETFL` 还是 `F_SETFD`?
linux·服务器·网络·c++·tcp/ip
yong99903 小时前
基于MATLAB的随机振动界面设计与功率谱密度分析实现
开发语言·matlab
超级种码4 小时前
Java:JavaAgent技术(java.instrument和java.attach)
java·开发语言·python