51nod1268

Posted 荒岛的龟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51nod1268相关的知识,希望对你有一定的参考价值。

解题思路:直接搜索找就行了,搜两边,一个是加入这个数字,一边是不加入这个数字

代码:

#include<iostream>
#include<algorithm>
#define maxn 30
using namespace std;
int a[maxn];
int k;
int n;
int flag;
void dfs(int i,int sum,int step)
{
    if(step>n)
        return;
    else
    {
        if(sum==a[i])
        {
            flag=1;
            return;
        }
        if(sum>a[i])
            dfs(i+1,sum-a[i],step+1);
            dfs(i+1,sum,step+1);
    }
}
int main()
{
    while(cin>>n>>k)
    {
        for(int i=1;i<=n;i++)
            cin>>a[i];
        dfs(1,k,1);
        if(flag==1)
            cout<<"Yes\n";
        else
            cout<<"No\n";
    }
    return 0;
}

以上是关于51nod1268的主要内容,如果未能解决你的问题,请参考以下文章

51nod 1268最大距离

51nod 1268 和为K的组合

51nod1268 和为K的组合(DFS)

51Nod——T 1631 小鲨鱼在51nod小学

51nod 1631 小鲨鱼在51nod小学

51nod 1185 || 51nod 1072 威佐夫博弈