题解 | #神奇的口袋#

神奇的口袋

http://www.nowcoder.com/practice/9aaea0b82623466a8b29a9f1a00b5d35

#include<iostream>
#include<algorithm>
using namespace std;
int cnt = 0;
void dfs(int v[],int n,int total,int pos){
    if(total == 40){
        cnt++;
        return;
    }
    else
        for(int i = pos;i < n;++i)
           dfs(v,n,total + v[i],i + 1);
}
int main()
{
    int n;
    cin >> n;
    int *v = new int[n];
    for(int i = 0;i < n;++i)
        cin >> v[i];
    sort(v,v + n);
    dfs(v,n,0,0);
    cout << cnt;
}
全部评论
这里为什么要对v进行一次排序呢?
点赞 回复 分享
发布于 2023-03-23 17:36 北京

相关推荐

2025-12-16 17:17
门头沟学院 产品经理
烤点老白薯:他第二句话的潜台词是想让你帮他点个瑞幸或者喜茶啥的
mt对你说过最有启发的一...
点赞 评论 收藏
分享
01-07 11:46
Java
如图:也是让我遇到逆天公司了,实习生是按天给工资,不忙直接强制休假了
baskly:公司为北京超图软件股份有限公司武汉分公司,明年公司应该会招新实习生,刷到的小伙伴快跑
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务