#C08L04P02. C08.L04.位运算与二进制枚举.程序填空.二进制枚举
C08.L04.位运算与二进制枚举.程序填空.二进制枚举
题目描述
给出长度为 N 的数组,求能否从中选出若干个,使他们的和为 K。如果可以,,输出 Yes,否则输出 No。
输入格式
第 1 行,输入 N,K,为数组的长度和需要判断的和( 2 ≤ N ≤ 20,1 ≤ K ≤ )
第 2 行,N 个值,表示数组中元素的值( 1 ≤ ≤ )
输出格式
输出 Yes 或 No。
样例
5 13
2 4 6 8 10
No
#include <bits/stdc++.h>
using namespace std;
int a[25],n,k,sum,t;
int main()
{
cin>>n>>k;
int i,j;
for(i=0;i<n;i++)
cin>>a[i];
for(t=1;t< 填空(1) ;t++)
{
填空(2) ;
for(j=0;j<n;j++)
if( 填空(3) &t)
sum += 填空(4) ;
if(sum==k)
{
printf("Yes") ;
return 0;
}
}
printf("No");
return 0;
}
填空(1): {{ input(1) }}
填空(2): {{ input(2) }}
填空(3): {{ input(3) }}
填空(4): {{ input(4) }}
相关
在以下作业中: