好像有点问题

#include<cstdio>
using namespace std;
int a[10],n;
bool b[10];
void dfs(int k)
{
 if(k>n);
 {
  for(int j=1;j<=n;j++)
  {
   printf("%d ",a[j]);
  }
  printf("\n");
  return;
 }
 for(int i=1;i<=n;i++)
 {
  if(!b[i])
  {
   b[i]=1;
   a[k]=i;
   dfs(k+1);
   b[i]=0;
  }
 }
}
int main()
{
 scanf("%d",&n);
 dfs(1);
 return 0;
}

猜你喜欢

转载自www.cnblogs.com/darlingroot/p/10008943.html