爆零TLE求调

7. 模板库应用2-映射2

题目ID:7301必做题100分

最新提交:

Time Limit Exceeded

0 分

历史最高:

Time Limit Exceeded

0 分

时间限制: 1000ms

空间限制: 524288kB

题目描述

题目描述

有两种操作:

  1. 给一个名字为s的人标号x,
  2. 查询名字为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;
}

你的输出格式不对,再检查一下

这道题可以不用vector 直接用map做