题目描述:
Chaos August likes to study the lucky numbers.
For a set of numbers S,we set the minimum non-negative integer,which can’t be gotten by adding the number in S,as the lucky number.Of course,each number can be used many times.
Now, given a set of number S, you should answer whether S has a lucky number.“NO” should be outputted only when it does have a lucky number.Otherwise,output “YES”.
输入描述:
The first line is a number T,which is case number.
In each case,the first line is a number n,which is the size of the number set.
1≤n≤105,1≤T≤10,0≤ai≤109
输出描述:
Output“YES”or “NO”to every query.
输入:
1
1
2
输出:
NO
题意:
集合S 中 有若干数 如果能够通过任意 组合(不限次数)加和得到所有 自然数 则输出“YES” 否则“NO”
题解:
只要存在0和1就可以去
代码:
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int t;
scanf("%d",&t);
while(t--){
int n,x;
scanf("%d",&n);
bool flag0 = false;
bool flag1 = false;
for(int i = 1; i <= n; i ++){
scanf("%d",&x);
if(x == 1) flag1 = true;
if(x == 0) flag0 = true;
}
if(flag1 && flag0) printf("YES\n");
else printf("NO\n");
}
return 0;
}