找球号(二)

时间限制:1000 ms  |  内存限制:65535 KB
难度:5
描述
描述
在某一国度里流行着一种游戏。游戏规则为:现有一堆球中,每个球上都有一个整数编号i(0<=i<=100000000),编号可重复,还有一个空箱子,现在有两种动作:一种是"ADD",表示向空箱子里放m(0<m<=100)个球,另一种是"QUERY”,表示说出M(0<M<=100)个随机整数ki(0<=ki<=100000100),分别判断编号为ki 的球是否在这个空箱子中(存在为"YES",否则为"NO"),先答出者为胜。现在有一个人想玩玩这个游戏,但他又很懒。他希望你能帮助他取得胜利。

输入
第一行有一个整数n(0<n<=10000);

随后有n行;

每行可能出现如下的任意一种形式:

第一种:

一个字符串"ADD",接着是一个整数m,随后有m个i;

第二种:

一个字符串"QUERY”,接着是一个整数M,随后有M个ki;


输出
输出每次询问的结果"YES"或"NO".
样例输入
2
ADD 5 34 343 54 6 2
QUERY 4 34 54 33 66
样例输出
YES
YES
NO
NO
来源

思路:直接开数组放不下,MLE,用bitset开可以放的下

代码:

#include<bits/stdc++.h>
using namespace std;
bitset<100000001> bs;
int main() {
int T;
scanf("%d",&T);
while(T--) {
char s[8];
int n,num;
scanf("%s",&s);
if(s[0]=='A') {
scanf("%d",&n);
for(int i=0;i<n;++i) {
scanf("%d",&num);
bs[num]=1;
}
} else {
scanf("%d",&n);
for(int i=0;i<n;++i) {
scanf("%d",&num);
if(bs[num]==1) {
printf("YES\n");
} else {
printf("NO\n");
}
}
}
}
return 0;
}

最新文章

  1. Ubuntu安装Oracle SQLDeveloper
  2. Java命令提示符编译
  3. Install ssdb-rocks on CentOS 6
  4. 如何配置DNS服务器(局域网——域名指向某个IP地址)
  5. PHP克隆魔术方法
  6. HDU 1162 Eddy&#39;s picture
  7. Java实现希尔排序
  8. JAVA命令参数详解
  9. OpenCV249 for python278 最简配置方案
  10. linux下如何使用USB存储设备
  11. 1.3 selenium IDE录制脚本转换为其他代码格式
  12. 使用Visual Studio 2008创建你的第一个Windows Mobile程序介绍
  13. 201521123007《Java程序设计》第13周学习总结
  14. 全面了解Android热修复技术
  15. [翻译 EF Core in Action] 1.5 关于NoSql
  16. 多线程学习笔记-深入理解ThreadPoolExecutor
  17. Codeforces 947F. Public Service 构造
  18. Android学习第6天
  19. 【最短路】道路重建 @upcexam5797
  20. 阿里云日志服务采集自建Kubernetes日志(标准输出日志)

热门文章

  1. LeetCode 476. Number Complement (数的补数)
  2. LeetCode 112. Path Sum (二叉树路径之和)
  3. JS框架设计读书笔记之-选择器引擎02
  4. Codeforces 376A. Night at the Museum
  5. SSH框架整合--applicationContext.xml文件配置实例
  6. Sqoop的安装部署
  7. 使用Lock锁生产者消费者模式
  8. 结合GET(),POST()实现一个简单、完整的服务器
  9. J-Link驱动下载和Hex程序下载
  10. C# 关闭窗体立即停止进程