#include
using namespace std;
int cnt=0;
int n,r;
int put[15];
void dfs(int p,int sheng)
{
if(p>n)
{
cnt++;
return;
}
for(int i=1;i<=r;i++)
{
put[i]++;
if(put[i]==1)sheng--;
if(sheng>n-p){
put[i]--;
if(put[i]==0)sheng++;
continue;
}
dfs(p+1,sheng);
put[i]--;
if(put[i]==0)sheng++;
}
}
int main()
{
cin>>n>>r;
dfs(1,r);
cout<<cnt;
return 0;
}
最高977ms,这是dfs能过的题?(蒟蒻弱弱的疑问)