map的模版题

map的定义格式是这样的:

map<下标的类型,数据类型> map名

比如map<long long, char> a就是名叫a,下标范围为long long 的char 类型数组

但是不得不说一下,map有个特别有意思的特点:

万物皆可当下标

只要是能进行排序的东西,都可以作为map的下标,所以有一种很魔幻的玩法,之前的卉图讲堂系列讲过字符串可以排序,所以也可以把字符串当作下标:

mapp["abcd"]=3mapp["abcd"]=3

直接上代码就行:

#include<bits/stdc++.h>
using namespace std;
int hao[100005];
int main(){
    map<int,int> mapp;
    long long n,m,x,y,ans=0;
    cin>>n>>m;
    for(int i=1;i<=n;i++) cin>>hao[i];
    for(int i=1;i<=m;i++){
        cin>>x>>y;
        mapp[x]=y;
    }
    for(int i=1;i<=n;i++){
        if(mapp[hao[i]]!=0) ans+=mapp[hao[i]];
    }
    cout<<ans;
    return 0;
}

2 条评论

  • 1