
假设我们有一个学生卷的地图数据结构,卷的名称是整型数据,名称是字符串类型数据。在我们的标准输入中,我们提供 n 个查询。在每个查询中(每行)必须有两个元素,对于类型 1 查询,必须有三个元素。第一项是运算符,第二项是卷,第三项是名称,对于双元素查询,第二项是卷号。操作如下 -
因此,如果输入类似于 n = 8,则查询= [[1,5,"阿塔努"], [1,8,"塔潘"], [1,3,"曼尼什"],[2,8],[1,9,"皮亚利"], [3 ,8],[3,3], [3,5]],则输出将为 [Not found, Manish, Atanu],因为卷 8 不存在,卷 3 的学生姓名为 Manish,姓名为卷数为 5 的学生是“Atanu”。
为了解决这个问题,我们将按照以下步骤操作 -
- n := 查询数量 li>
- 定义一个整数类型键和字符串类型值的映射 m。
- 当 n 非零时,在每次迭代中减少 n,执行:
- 获取卷号
- 如果t与1相同,则:
- 否则当 t 等于 2 时,则:
- 否则
示例
让我们看看以下实现,以便更好地理解 -
#include <iostream>
#include <map>
using namespace std;
int main(){
int n;
cin >> n;
map<int, string> m;
while (n--) {
int t;
cin >> t;
int roll;
cin >> roll;
if (t == 1) {
string name;
cin >> name;
m[roll] = name;
} else if (t =
.........................................................