码迷,mamicode.com
首页 > 其他好文 > 详细

51nod1268

时间:2017-11-07 19:36:19      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:nbsp   else   i++   sum   names   cout   def   ==   algorithm   

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

代码:

#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

标签:nbsp   else   i++   sum   names   cout   def   ==   algorithm   

原文地址:http://www.cnblogs.com/huangdao/p/7800112.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!