答案对了,又慢了。
死亡地点
#include<iostream>
#include<cstring>
using namespace std;
int range,random,way_count=0;
int number=0,num_list[1010];
int judge_number(int floor,int step){
if(floor==random+1){
if(number==range){
way_count++;
}
return 0;
}
for(int i=step;i<=range;i++){
num_list[floor]=i;
number+=num_list[floor];
judge_number(floor+1,i);
number-=num_list[floor];
num_list[floor]=0;
}
}
int main(){
cin>>range>>random;
judge_number(1,1);
cout<<way_count;
return 0;
}
递归是真的慢......
看看吧......