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

相关推荐
葵花楹19 小时前
【JAVA课设】【游戏社交系统】
java·开发语言·游戏
赵谨言19 小时前
Python串口的三相交流电机控制系统研究
大数据·开发语言·经验分享·python
民乐团扒谱机19 小时前
【微实验】数模美赛备赛:多目标优化求解实战(MATLAB实现,以流水车间调度为例)
开发语言·数学建模·matlab·甘特图·遗传算法·多目标优化·优化模型
努力的小陈^O^20 小时前
问题:Spring循环依赖问题排查与解决
java·开发语言·前端
Ccjf酷儿20 小时前
C++语言程序设计 (郑莉)第十章 泛型程序设计与C++标准模板库
开发语言·c++
FreeBuf_20 小时前
利用零宽度字符的隐形JavaScript混淆工具InvisibleJS浮出水面
开发语言·javascript·ecmascript
lsx20240621 小时前
Go 语言指针
开发语言
wearegogog12321 小时前
基于MATLAB的IEEE 9节点系统潮流计算
开发语言·matlab
分布式存储与RustFS21 小时前
RustFS在AI场景下的实测:从GPU到存储的完整加速方案
开发语言·人工智能·rust·对象存储·企业存储·rustfs·minio国产化替代
揽昕21 小时前
判断对象是否含有某个属性
开发语言·前端·javascript