1 条题解
-
0
#include <bits/stdc++.h> using namespace std; int n, a[55]; void dfs(int x, int k) { if(k > 1) { for(int i=1; i<k; i++) printf("%d+", a[i]); printf("%d\n", x); } for(int i=a[k-1]; i <= x/2; i++) { a[k] = i; dfs(x - i, k + 1); } } int main() { scanf("%d", &n); memset(a, 0, sizeof(a)); a[0] = 1; dfs(n, 1); return 0; }
- 1
信息
- ID
- 79
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- 递交数
- 297
- 已通过
- 81
- 上传者