U503106 手写哈希表

题目背景

本题可以使用其他方法解决。 但是出于训练目的,请手写一个哈希表来实现。

题目描述

请你手写一个 ```unordered_map s;``` 具体来说,你需要实现以下功能: 假设有一个虚拟的长度为 $n$ 的数组,实现以下操作: - ```1 x y``` 表示赋值语句 ```a[x]=y;``` - ```2 x``` 表示输出 ```a[x]```,如果 ```a[x] ``` 没有被赋值,输出 ```-1```

输入格式

第一行一个整数 $T$ 表示操作数。 接下来 $T$ 行表示操作。

输出格式

对于每一个 $2$ 操作输出一行一个整数表示答案。

说明/提示

$1\leq x,y\leq10^9$ , $1\leq T \leq 10^5$。 请尽量做到接近 $O(T)$ 的复杂度,本题因为输入效率的影响较难制造数据点。 禁止直接使用 ```unordered_map``` 。