这个蒟蒻甚至连一道 dfs 水题都不会。
不知道为蛤,连样例都没过。。。嘤嘤嘤
请求 dalao 支援!!!
代码如下:
#include <bits/stdc++.h>
using namespace std;
int n,m,ans,t;
void dfs(int ap,int step,int tmp)
{
if(ap == 0 && step == n)
{
ans++;
return ;
}
else if(ap == 0 && step < n)
return ;
else if(ap < 0)
return ;
for(int i = (step == 1) ? 0 : tmp + 1;i <= m;i++)
{
dfs(ap - i,step + 1,i);
}
}
signed main()
{
cin >> t;
while(t--)
{
cin >> m >> n;
ans = 0;
dfs(m,1,0);
cout << ans << "\n";
}
return 0;
}