HDU 5665 lucky

来源:互联网 发布:淘宝店一般能赚多少钱 编辑:程序博客网 时间:2024/05/22 00:09

题意简化为给你一个集合,集合里面的数均为非负整数,问你这个集合的数通过加法(1个数可以用多遍)能否得到任意自然数。

其实就是判断集合里面是否有1,,~~但是这里有个小坑就是还要判断是否有0的情况,,(当初我认为自然数是没有0的,所以BC上就被Hack了。。)


代码如下:

#include <algorithm>  #include <iostream>  #include <cstdlib>  #include <cstring>  #include <string>#include <cstdio>  #include <climits>#include <cmath> using namespace std;int data[100005];int main(){#ifdef DIDfreopen("in.txt","r",stdin);//freopen("out.txt","w",stdout);#endifint T;scanf("%d",&T);while(T--){int n;bool true0=0,true1=0;scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d",&data[i]);if(data[i]==0) true0=1;else if(data[i]==1) true1=1;}if(true0&&true1)printf("YES\n");else printf("NO\n");}  return 0;}


1 0
原创粉丝点击