做了几次搜索,然后就想这这题能不能用搜索。。
#include <stdio.h>
#include <string.h>
int t,n,r,visit[10],stamp[10];
void dfs(int star)
{
if(star==r+1)//判断已经存入stamp数组的个数。
{
for(int j=1;j<=r;j++)
printf("%d",stamp[j]);
printf("\n");
return ;
}
for(int i=1;i<=n;i++)
{
if(!visit[i])
{
visit[i]=1;
stamp[star]=i;
dfs(star+1);
visit[i]=0;
}
}
}
int main()
{
scanf("%d",&t);
while(t--)
{
memset(stamp,0,sizeof(stamp));
memset(visit,0,sizeof(visit));
scanf("%d %d",&n,&r);
dfs(1);
}
}
nyoj19 擅长排列的小明
最新推荐文章于 2018-05-03 21:52:19 发布