选择排列(深搜)

题目:1~n个自然数中选择r个数的所有选择方案(顺序)

方法:深搜

程序:

#include<bits/stdc++.h>
using namespace std;
int n,r,A[21],b[21]={0};
void print(){
    for(int i=1;i<=r;i++){
        printf("%d ",A[i]);
    }
    printf("\n");
}
void search(int x){
    if(x>r){
        print();
        return;
    }
    else{
        for(int i=1;i<=n;i++){
            if(b[i]==0&&i>A[x-1]){
                b[i]=1;
                A[x]=i;
                search(x+1);
                b[i]=0;
            }
        }
    }
}
int main(){
    scanf("%d%d",&n,&r);
    search(1);
    return 0;
}

posted @ 2022-01-24 08:27  LZMiiu  阅读(33)  评论(0编辑  收藏  举报