WAWA大哭
查看原帖
WAWA大哭
1402440
Zn50520234188楼主2024/7/25 14:48
#include<iostream>
using namespace std;
int a[15]; //存数 
bool b[15]={0};//记录使用 
int n,k;
void duiwu(int x,int n,int k)
  {
  	if(x==k)//够了,该输出了 
  	  {
  	  	for(int i=0;i<k;i++)
  	  	  cout<<a[i]<<" ";
  	  	cout<<endl;
  	  	return;
	  }
	for(int i=1;i<=n;i++)
	  {
	  	if(b[i])
	  	  continue;
	  	int m=0;//判断重复 
		for(int j=0;j<x;j++)
		  if(a[j]==i)
			m=1;
		if(m)
		  continue;
		a[x]=i;
	    b[i]=1;
	    duiwu(x+1,n,m);
	    a[x]=0;
	    b[i]=0;//回溯   
	  }
  }
int main()
  {
  	cin>>n>>k;
  	duiwu(0,n,k);
  	return 0;
  }
2024/7/25 14:48
加载中...