BestCoder Round #80(A)模拟

来源:互联网 发布:苹果电脑清理垃圾软件 编辑:程序博客网 时间:2024/04/29 01:39

Lucky

 
 Accepts: 819
 
 Submissions: 2299
 Time Limit: 2000/1000 MS (Java/Others)
 
 Memory Limit: 65536/65536 K (Java/Others)
问题描述
\ \ \ \    Vampire喜欢玄学,尤其喜欢研究幸运数字.\ \ \ \    对于一个数字集合S,定义关于S的幸运数字为无法用S中的数相加得到的最小的非负整数(每个数可以使用任意次).\ \ \ \    现在给定一个数集,如果能使用其中的数相加得到任意自然数,输出”YES”,否则输出”NO”.
输入描述
\ \ \ \    第一行一个正整数T,为数据组数.\ \ \ \    每组数据第一行一个n,表示集合大小.\ \ \ \    接下来n个数,表示该数集里的数.\ \ \ \ 1\le n\le 10^5,1\le T \le 10,0\le a_i \le 10^9    1n105,1T10,0ai109.
输出描述
\ \ \ \    每组数据回答一个”YES”或”NO”.
输入样例
112
输出样例
NO



题解:只要判断有没有1和0



#include<cstdio>  #include<cstring>  #include<cstdlib>  #include<cmath>  #include<iostream>  #include<algorithm>  #include<vector>  #include<map>  #include<set>  #include<queue>  #include<string>  #include<bitset>  #include<utility>  #include<functional>  #include<iomanip>  #include<sstream>  #include<ctime>  using namespace std;#define N int(1e5)  #define inf int(0x3f3f3f3f)  #define mod int(1e9+7)  typedef long long LL;set<int>v;int main(){#ifdef CDZSC      freopen("i.txt", "r", stdin);    //freopen("o.txt","w",stdout);      int _time_jc = clock();#endif      int n,t,x;    scanf("%d", &t);    while (t--)    {        v.clear();        scanf("%d", &n);        for (int i = 0; i < n; i++)        {            scanf("%d", &x);            v.insert(x);        }        if (v.count(1) && v.count(0))        {            puts("YES");        }        else puts("NO");    }    return 0;}









0 0
原创粉丝点击