输出总是10,蒟蒻求助
查看原帖
输出总是10,蒟蒻求助
109369
easyf12楼主2022/6/30 16:48

输出结果总是10,蒟蒻求助

#include <bits/stdc++.h>
using namespace std;
int s,p[100000],book[100000];
void f(int n,int w){
    if(w==0){
        s++;
        return;
    }
    for(int i=n;i>=1;i--){
        if(w-p[i]>=0){
            if(book[i]==0){
                book[i]=1;
                f(i-1,w-p[i]);
            }
            else continue;
        }
        else continue;
    }
    s++;
    return;
}
int main(){
    int w,n;
    cin>>w>>n;
    for(int i=1;i<=n;i++){
        cin>>p[i];
    }
    sort(p,p+n+1);
    /*
    for(int i=1;i<=n;i++){
        cout<<p[i]<<" ";
    }
    */
    f(n,w);
    cout<<s;
    return 0;
}
2022/6/30 16:48
加载中...