题解 | #神奇的口袋#

神奇的口袋

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-14 11:43
黑龙江大学 Java
用微笑面对困难:确实比较烂,可以这么修改:加上大学的qs排名,然后大学简介要写一些,然后硕士大学加大加粗,科研经历第一句话都写上在复旦大学时,主要负责xxxx,简历左上角把学校logo写上,建议用复旦大学的简历模板
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

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