这个代码为什么会TLE啊!!!
#include<iostream>
using namespace std;
int n, k, ans;
void f(int x, int sum, int cnt) {
if (cnt == k && sum == n) {
ans++;
return;
}
if (cnt == k || sum == n) {
return;
}
for (int i = x; i <= n; i++) {
f(i, sum + i, cnt + 1);
}
}
int main() {
cin >> n >> k;
f(1, 0, 0);
cout << ans;
return 0;
}
看数据范围应该不用剪枝吧