标签:nyoj
4 13 1 2 4 7
YES 2 4 7
01.#include<iostream>02.#include<cstring>03.#include<cstdio>04.using namespace std;05.int n,k,v,sum,a[25],b[25];06.void dfs(int p)07.{08.if(sum>=k)09.{10.if(sum==k)11.{12.if(!v)13.{14.v=1;15.cout<<"YES"<<endl;16.}17.for(int i=0;i<n;i++) 18.if(b[i])19.cout<<a[i]<<"
";20.cout<<endl;21.}22.return;23.}24.for(int i=p;i<n;i++)25.{26.sum+=a[i];27.b[i]=1;28.dfs(i+1);29.sum-=a[i];30.b[i]=0;31.}32.}33.int main()34.{35.while(scanf("%d%d",&n,&k)==2)36.{37.v=0;38.memset(b,0,sizeof(b));39.for(int i=0;i<n;i++)40.cin>>a[i]; 41.sum=0;42.dfs(0);43.if(!v) 44.cout<<"NO"<<endl;45.}46.return 0;47.}标签:nyoj
原文地址:http://blog.csdn.net/justesss/article/details/38038421