TZOJ 5372: C++实验:STL之map

描述

 

使用STL中的map,查找字符串出现的次数。

部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。

 

  • C++
int main()
{
    int m;
    map<string, int> sm;
    Input(sm);
    cin>>m;
    while(m--)
    {
        string s;
        cin>>s;
        cout<<sm[s]<<endl;
    }
    return 0;
}

 

输入

 

输入数据第一行为正整数n,接下来包含n行,每行一个字符串,表示字符串列表。

接下来有m行,每行一个字符串,表示要查找的字符串。

字符串均不含空格。

 

输出

 

查找每个字符串在字符串列表中出现的次数。

 

样例输入

 

5
abc
def
abc
def
abc
3
abc
def
hello

样例输出

 

3
2
0

AC感想:熟悉一下map键值对的创建方式map<数据类型,数据类型> 容器名;理论上来说,本题只是计算字符串出现的次数,但是也可以比如记录数字出现的次数就变成map<int,int>;

#include<bits/stdc++.h>
using namespace std;
void Input(map<string, int> &sm)
{
    int n;
    cin>>n;
    while(n--)
    {
        string s;
        cin>>s;
        sm[s]++;//键s所对应的值int++ 
    }
} 
int main()
{
    int m;
    map<string, int> sm;//map == 键值对 
    Input(sm);
    cin>>m;
    while(m--)
    {
        string s;
        cin>>s;
        cout<<sm[s]<<endl;
    }
    return 0;
}

 

posted @ 2022-06-17 16:13  CRt0729  阅读(45)  评论(0编辑  收藏  举报