‹ 上一题 下一题 ›

g5-08285. 果篮盘点 未做

1000 ms 256 MB 测试点 10 通过率 100% GESP-55级·STLmap

题目描述

map<string, int> 把键(key)和值(value)成对存好,并自动按键的字典序排列。先看下面这个「建一个装水果的果篮 map,再用范围 for 把每种水果和数量逐行输出」的完整模板程序:

#include <bits/stdc++.h>
using namespace std;

int main() {
    map<string, int> mp = {
        {"apple", 2},
        {"banana", 5},
        {"cherry", 1}
    };
    for (const auto &p : mp) {
        cout << p.first << " " << p.second << "\n";  // p 是 pair:first 是键,second 是值
    }
    return 0;
}

你的任务:把模板改成输出 mp.size()——也就是果篮里有几种水果(键值对的个数)。注意:size() 数的是键值对有几对,不是把所有数量加起来。

输入格式

本题没有输入。

输出格式

一行一个整数:果篮里水果的种类数。

样例

输入:


输出:

3

map 里有 apple、banana、cherry 三个键,所以 size() 是 ;三种水果的数量 是总量,与种类数无关。

数据范围

本题没有输入,直接在模板上改造即可。提示:size() 返回键值对的个数;把每个 p.second 加起来得到的是水果总数量,两者不是一回事。

输入
输出

            
答案