DFS神奇的口袋c++

#include <cstdio>
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

int num = 0;
vector<int>s;


void DFS(int sum, int position, int al)
{  
  for (int i = position; i < s.size(); i++)
    {
      
      int xm=sum+s[i];
      if(sum>al)
      return;
      if(xm==al)
      {
        num++;
        continue;
      }
     DFS(xm, i + 1, al);
   }
   return;
  
}

int main(void)
{

    int n;
    cin >> n;
    int a;
    s.clear();
    for(int i=0;i<n;i++)
    {
        cin >> a;
        s.push_back(a);
    }
  
    DFS(0, 0, 40);
    return 0;
}
发布了22 篇原创文章 · 获赞 1 · 访问量 583

猜你喜欢

转载自blog.csdn.net/baidu_37143827/article/details/104590459