7. 模板库应用2-映射2
题目ID:7301必做题100分
最新提交:
Time Limit Exceeded
0 分
历史最高:
Time Limit Exceeded
0 分
时间限制: 1000ms
空间限制: 524288kB
题目描述
题目描述
有两种操作:
- 给一个名字为s的人标号x,
- 查询名字为s的人的标号。
不保证所有数不相同,不保证操作2所查询的人一定存在。
输入描述
输入一个n,表示接下来有n种操作,
接下来n行每行一个数op,一个字符串s,
若op=1,则之后再跟一个数x,表示你要将名字为s的人标号为x,
若op=2,则你需要输出名字为s的人的标号。
输出描述
对于每个操作2输出一行,
如果不存在这个人,输出”Not found.”(不含双引号),
如果存在,则输出这个人的标号。
样例输入
10 2 cqszhwgywo 1 uqhlayolko 286241036 2 gdielmpguw 2 uqhlayolko 1 lturzllzrj 241550001 1 zkbvujvncb 674852961 1 wogdltbior 236413121 1 bccgbnbzzm 622686621 1 uckgjjyume 415730509 2 lturzllzrj
样例输出
Not found. Not found. 286241036 241550001
数据范围
|s|为字符串s的长度
n<=100000, |s|=10, 1 ≤ x ≤ 1000000000
时空限制
1s, 512M
#include<bits/stdc++.h>
using namespace std;
int n;
map<string,string> m;
vector<string> v;
int main(){
cin>>n;
while(n--){
int s;
cin>>s;
if(s==1){
string x,y;
cin>>x>>y;
m[x]=y;
v.push_back(x);
}else{
string x;
cin>>x;
if(count(v.begin(),v.end(),x)) cout<<m[x]<<endl;
else cout<<"Not found"<<endl;
}
}
return 0;
}