#include<iostream>
#include<cstring>
using namespace
std;
int m,n;
int a[10];
int visit[10];
void D(int c)
{
if(c==m)
{
for(int
i=0;i<m;i++)
cout<<a[i];
cout<<endl;
}
else
{
for(int
i=0;i<n;i++)
{
if(!visit[i])
{
a[c]=i+1;
visit[i]=1;
D(c+1);
visit[i]=0;
}
}
}
}
int main(int argc, char* argv[])
{
int t;
cin>>t;
while(t--)
{
cin>>n>>m;
memset(visit,0,sizeof(visit));
D(0);
}
return
0;
}
原文:http://www.cnblogs.com/52Cyan/p/3663091.html