题目描述
multimap<string, int> 与 map 的区别是同一个键可以出现多次:一键多值。插入用 insert;取同键全部值用 equal_range。先看下面这个「插入两个键的多条记录,再用 equal_range 遍历输出 tom 的全部分数」的完整模板程序:
#include <bits/stdc++.h>
using namespace std;
int main() {
multimap<string, int> mm;
mm.insert({"tom", 90});
mm.insert({"amy", 66});
mm.insert({"tom", 85});
mm.insert({"tom", 78});
auto r = mm.equal_range("tom"); // [r.first, r.second) 是 tom 的全部条目
for (auto it = r.first; it != r.second; ++it) {
cout << it->second << "\n"; // it->first 是键,it->second 是值
}
return 0;
}
你的任务:把模板改成输出 mm.count("tom")——键 tom 名下有几条记录。
输入格式
本题没有输入。
输出格式
一行一个整数。
样例
输入:
输出:
3
tom 名下插了 、、 三条记录,count("tom") 等于 ——multimap 的一个键可以带多个值。
数据范围
本题没有输入,直接在模板上改造即可。提示:multimap 的 count(k) 数的是键 名下的条数,可以是 ,也可以是 、 甚至更多——不要按 map「一键一个」的老习惯想成 。