acgo题库
  • 首页
  • 题库
  • 学习
  • 天梯
  • 备赛

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
  • 竞赛
  • 讨论
  • 团队
  • 商城
登录
注册
题目详情提交记录(0)
  • ac

    #include<bits/stdc++.h> using namespace std; int n, sum; vector<vector<int>> pascalTriangle; vector<int> ans; vector<bool> used; void generatePascalTriangle() { pascalTriangle.resize(n+1); for(int i=1; i<=n; ++i) { pascalTriangle[i].resize(i+1); pascalTriangle[i][1] = pascalTriangle[i][i] = 1; for(int j=2; j<i; ++j) { pascalTriangle[i][j] = pascalTriangle[i-1][j-1] + pascalTriangle[i-1][j]; } } } bool dfs(int step, int currentSum) { if(step > n) { return currentSum == sum; } for(int i=1; i<=n; ++i) { if(!used[i]) { int newSum = currentSum + i * pascalTriangle[n][step]; if(newSum > sum) continue; used[i] = true; ans[step] = i; if(dfs(step+1, newSum)) return true; used[i] = false; } } return false; } int main() { cin >> n >> sum; generatePascalTriangle(); ans.resize(n+1); used.resize(n+1, false); if(dfs(1, 0)) { for(int i=1; i<=n; ++i) { cout << ans[i] << " "; } } return 0; }

    userId_undefined
    AC不了一点
    倔强青铜题解仙人造物者贪心·贪心尝试者递归·套娃学徒
    2阅读
    0回复
    1点赞
  • 题解

    userId_undefined
    喵仔牛奶
    11月全勤卷王12月全勤卷王小有名气题解仙人快乐小狗GESP5级
    8阅读
    0回复
    1点赞
暂无数据

提交答案之后,这里将显示提交结果~

首页