zoukankan      html  css  js  c++  java
  • 选择排列的生成

    View Code
    #include<iostream>
    using namespace std;
    #define MAXN 100
    int num;
    void print(int *a,int n){
        int i;
        cout<<num++<<": ";
        for(int i=0;i<n-1;i++)
            cout<<a[i]<<' ';
        cout<<a[n-1]<<endl;
    }
    void P(int *a,int n,int m,int lev,int *temp,int *tag){
        int i;
        if(lev==m) print(temp,m);
        else
           for(i=0;i<n;i++)
             if(!tag[i]){
                 temp[lev]=a[i];
                 tag[i]=1;
                 P(a,n,m,lev+1,temp,tag);
                 tag[i]=0;    
              }
    }
    void gen(int n,int m){
        int a[MAXN],temp[MAXN],tag[MAXN]={0},i;
        for(i=0;i<n;i++) a[i]=i+1;
        P(a,n,m,0,temp,tag); 
    } 
    int main(){
        int n,m,cnt=0;
        while(cin>>n>>m){
            num=1;
            gen(n,m);
        }
        return 0;
    }
  • 相关阅读:
    php 原生 好久不写原生demo了
    鸡汤
    php 发送smtp邮件
    php微信支付代码
    3、Flume
    P2761 软件补丁问题
    TQL
    二分图匹配
    p2597 灾难
    P3958 奶酪
  • 原文地址:https://www.cnblogs.com/aijianiula/p/2722523.html
Copyright © 2011-2022 走看看