map基本操作:
- map<int,int>a;建立一个名字是a 的map,下标是int,存储int
- a[x] = y;将a[x] 的值设置为y
- a.find(x)!=a.end();判断a[x] 是否存在。不可以直接写a[x]!=0。
- a.erase(x);将a[x] 删除
- a.size();返回map 中元素数量
最诡异操作:
map<string,int>a;建立一个名字是a 的map,下标是string,存储int。
以洛谷《P1918 保龄球》举例:
#include<bits/stdc++.h>
using namespace std;
int n,q,tmp;
map<int,int>a;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>tmp;
a[tmp]=i;
}
cin>>q;
while(q--){
cin>>tmp;
if(a.find(tmp)!=a.end())cout<<a[tmp]<<endl;
else cout<<0<<endl;
}
return 0;
}