提交时间:2026-01-11 21:25:13

运行 ID: 82421

#include <bits/stdc++.h> using namespace std; typedef long long ll; int n, k; int ans; void dfs(int d, int t, int x){ if (x >= k - 1){ if (d <= n - t){ ans++; } return; } if (t > n) return; for (int i = d; i <= n; i++){ dfs(i, t + i, x + 1); } } int main(){ //freopen("partition.in", "r", stdin); //freopen("partition.out", "w", stdout); scanf("%d%d", &n, &k); for (int i = 1; i <= n / k; i++) dfs(i, i, 1); printf("%d", ans); return 0; }