P1706 全排列问题

题解:(其实我认为它就是个循环)

#include<iostream>

#include<cstdio>

#include<iomanip>

using namespace std;

int x,a[10];

bool b[10]={1,1,1,1,1,1,1,1,1,1};

void ans(int);

void print();

int main()

{scanf("%d",&x);

ans(1); }

void ans(int n)

{ for(int i=1;i<=x;i++)

   {if((b[i]))

      {b[i]=0; a[n]=i;

         if(n==x)print();

             else ans(n+1);

            b[i]=1; a[n]=0; }

     }

}

void print()

{for(int i=1;i<=x;i++)

    {cout<<setw(5)<<a[i]; }

cout<<endl; }

猜你喜欢

转载自www.cnblogs.com/lcez56jsy/p/10403379.html