部分和问题

    xiaoxiao2026-05-28  0

    题目:给定整数a1,a2,..,an,判断是否可以从中选出若干数,使它们的和为k。n<=20

    #include <iostream> using namespace std; int n,k,a[25]; bool dfs(int i,int sum); void solve(); int main() { while(cin>>n){ for(int i=0;i<n;i++){ cin>>a[i]; } cin>>k; solve(); } return 0; } void solve(){ if(dfs(0,0)) cout<<"yes\n"; else cout<<"no\n"; } bool dfs(int i,int sum){ if(i==n) return sum==k; if(dfs(i+1,sum)) return 1; if(dfs(i+1,sum+a[i])) return 1; return 0; }

    转载请注明原文地址: https://ju.6miu.com/read-1310159.html
    最新回复(0)