Problem Description
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”.
Input
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.
Next are n numbers,means the number in the number set.
1
Output
Output“YES”or “NO”to every query.
Sample Input
Copy
1
1
2
Sample Output
NO
集合中只要有0和1就可以组合成所有数
#include<iostream>
using namespace std;
int main(){
int T;
int n;
int num;
cin>>T;
while(T--){
cin>>n;
int flag1=0;
int flag2=0;
while(n--){
cin>>num;
if(num==1)
flag1=1;
if(num==0)
flag2=1;
}
if(flag1&&flag2)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
}

本文介绍了一个简单的算法,用于判断一组给定的整数是否能够通过相加的方式构成所有的非负整数,以此来确定这组数是否存在幸运数。幸运数定义为最小的非负整数,该整数不能由集合中的数通过任意次加法得到。
8万+

被折叠的 条评论
为什么被折叠?



