排列问题

来源:互联网 发布:万方数据库免费注册 编辑:程序博客网 时间:2024/05/22 14:40
#include<cstdio>
#include<math.h>
int a[10],n,r;
void search(int top)
{
int  i,j;
bool p;
if(top>r)
{
for(int t=1;t<=r;t++)printf("%d",a[t]);
printf("\n");
}
else
{
for(i=1;i<=n;i++)
{
p=true;
if(top==1)
{
a[top]=i;
search(top+1);
}
if(top>1)
{
j=1;
while(j<top&&p==true)
{
if(i==a[j])p=false;
else j++;
}
if(p==true)
{
a[top]=i;
search(top+1);
}
}
}
}
}


int main()
{
int top=1;
scanf("%d %d",&n,&r);
search(top);
return 0;
}
0 0
原创粉丝点击