zoukankan      html  css  js  c++  java
  • 51nod1268(基础dfs)

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

    代码:

    #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 ";
            else
                cout<<"No ";
        }
        return 0;
    }

  • 相关阅读:
    MINA简单的介绍
    java classloader详解
    nginx 和 tomcat 组合搭建后端负载均衡
    nginx主要配置
    Mysql知识汇总笔记
    gradle 构建java工程
    决策树
    如何使用hadoop RPC机制
    PowerPoint插入公式快捷键
    C++基础
  • 原文地址:https://www.cnblogs.com/huangdao/p/7800112.html
Copyright © 2011-2022 走看看