#CSPJMN011. 题目检索(search)

题目检索(search)

题目描述

小明在 OJ 搜题。但因为 OJ 已经是十几年前的产物了,所以搜索功能非常垃圾。小明被搞得心态爆炸,于是决定自己写一个题目检索器。

具体来说,请你实现一个题目检索器,完成如下功能:

  1. A x:加入一道题 xx 或判断其已存在。
  2. D x :删除一道题 xx 或判断其不存在。
  3. Q x:查询一道题 xx 是否存在。

其中,每道题都由一个独一无二的题号来代表,用一个不超过六位的数字表示。两道题目被认为相同,当且仅当其题号是相同的。

输入格式

第一行一个数字 qq,表示操作数量。

接下来 qq 行,每行代表一个操作,格式如上所述。

输出格式

对于 qq 个操作,分别输出一个字符串,表示操作执行信息。具体地,对于三种操作:

  1. A 操作:若加入的题目已然存在,输出 NO,否则输出 YES
  2. D 操作:若删除的题目本不存在,输出 NO,否则输出 YES
  3. Q 操作:若查询的题目存在,输出 YES,否则输出 NO

样例数据

6
A 1000
A 1001
A 1000
Q 1001
D 1001
Q 1001
YES
YES
NO
YES
YES
NO
6
A 1
A 2
A 3
Q 1
Q 2
Q 3
YES
YES
YES
YES
YES
YES
6
Q 1
Q 2
D 1
D 2
A 1
A 2
NO
NO
NO
NO
YES
YES

样例解释

样例 1 说明

一共六次操作:

  • 第一次操作为加入题号为 1000的题目,因为之前没有这道题,因此加入成功,输出YES
  • 第二次操作为加入题号为 1001的题目,因为之前没有这道题,因此加入成功,输出YES
  • 第三次操作为加入题号为 1000的题目,因为之前已经有这道题,因此加入失败,输出NO
  • 第四次操作为查询题号为 1001的题目,因为存在这道题,因此查询成功,输出YES
  • 第五次操作为删除题号为 1001的题目,因为存在这道题,因此删除成功,输出YES
  • 第六次操作为查询题号为 1001的题目,因为不存在这道题,因此查询失败,输出NO

样例 2 说明

一共六次操作:

  • 第一次操作为加入题号为 1的题目,因为之前没有这道题,因此加入成功,输出YES
  • 第二次操作为加入题号为 2的题目,因为之前没有这道题,因此加入成功,输出YES
  • 第三次操作为加入题号为 3的题目,因为之前没有这道题,因此加入成功,输出YES
  • 第四次操作为查询题号为 1的题目,因为存在这道题,因此查询成功,输出YES
  • 第五次操作为查询题号为 2的题目,因为存在这道题,因此查询成功,输出YES
  • 第六次操作为查询题号为 3的题目,因为存在这道题,因此查询成功,输出YES

样例 3 说明

一共六次操作:

  • 第一次操作为查询题号为 1的题目,因为不存在这道题,因此查询失败,输出NO
  • 第二次操作为查询题号为 2的题目,因为不存在这道题,因此查询失败,输出NO
  • 第三次操作为删除题号为 1的题目,因为之前没有这道题,因此删除失败,输出NO
  • 第四次操作为删除题号为 2的题目,因为之前没有这道题,因此删除失败,输出NO
  • 第五次操作为加入题号为 1的题目,因为之前没有这道题,因此加入成功,输出YES
  • 第六次操作为加入题号为 2的题目,因为之前没有这道题,因此加入成功,输出YES

数据范围

对于 100%100\% 的数据,保证 q107q \le 10^7xx 均为一个不超过六位的正整数。