您的位置:首页 > 其它

NYOJ 32 组合数 另一个方向的深搜

2015-04-09 22:01 120 查看
//NYOJ 32 组合数,另一个方向,锻炼这个思维
#include<cstdio>
#include<cstring>
int n,r;
int num[11];
using namespace std;
//是从1~0的。0是退出点
void DFS(int x,int y){
if(y==0){
for(int i=r;i>=1;i--){
printf("%d%c",num[i],i==1?'\n':' ');
}
}
else{
for(int i=x;i>=y;i--){//以第一个数为例,最大的第一位可以取到最小是后面数位+1
num[y]=i;
DFS(i-1,y-1);
}
}
}

int main(){
while(~scanf("%d%d",&n,&r)){
DFS(n,r); //剩下的可选数,剩下的位置
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: