#include<cstdio>int n,r,num[10000];
bool mark[10000];void print()
for(int i=l;i<=r;i++)
printf("名d ",num[i]);
printf("\n");
void search(int x)
for(int i=l;i<=n;i++)
if(!mark[i])
num[x]=i;
mark[i]=true/if(x==r)print();
search(x+1)'mark[i]=false;
int main()
scanf("%d%d",&n,&r);
search(1);
程序结束时,对任意1<=i<=n,mark[i]=0
若n<r,则程序无输出
)若输人为“43”,则输出中数字1和2的个数不同。()
此程序的时间复杂度为0(n)。()
若输入为“63”,则函数 print 的执行次数为
60
120
6
720
若输入为“74”,则输出的最后一行为
4 5 6 7
7 6 5 4
4 3 2 1
1 2 3 4
发表评论