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