1212. C++ 语法练习之 map

这里有一个盒子,现在有三个操作:

操作 11:往这个盒子里放一个字符串和对应的数字,如果盒子里已存在该字符串,就不进行任何操作。

操作 22:从这个盒子里拿走一个字符串和对应的数字,如果盒子里不存在该字符串,就不进行任何操作。

操作 33:询问当前盒子里一个字符串对应的数字。

输入

第一行包含一个整数 n (1n3105)n \ (1 \leq n \leq 3 \cdot 10^5),代表操作的个数。

接下来的 nn 行:

第一个数是 11 时,代表执行操作 11,接下来输入一个字符串 ss 和一个数字 a (108a108)a \ (-10^8 \leq a \leq 10^8),代表放入盒子内的字符串和与该字符串对应的数字。

第一个数是 22 时,代表执行操作 22,接下来输入一个字符串 ss,代表要拿走的字符串。(该字符串对应的数字也要拿走)

第一个数是 33 时,代表执行操作 33,接下来输入一个字符串 ss,代表要询问的字符串。

保证所有字符串都由字母组成,且长度不超过 2020

输出

对于每个操作 33,输出一行数,代表此时盒子对应该字符串的数的数值。

如果此时盒子里不存在该字符串,则输出 no

样例

标准输入 复制文本
7
1 AA 3
1 aa 0
1 ab 2
3 AA
2 AA
3 bb
3 AA
标准输出 复制文本
3
no
no
登录以提交代码。
单点时限 2 秒
内存限制 128 MB
提交 188
通过 90