您的位置:首页 > 其它

NYOJ19擅长排列的小明

2016-04-11 18:34 337 查看
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=19

一个深搜就搞定了。。

代码:

#include <cstdio>
#include <cstring>

int n,m;
int a[15];
int v[15];
void dfs(int step)

{
if(step == m + 1)
{
for(int i = 1;i <= m;++i)
printf("%d",a[i]);
printf("\n");
return ;
}
for(int i = 1;i <= n;++i)
{
if(!v[i])
{
a[step] = i;
v[i] = 1;
dfs(step + 1 );
v[i] = 0;
}
}
}
int main()

{
int _;
scanf("%d",&_);
while(_--)
{
memset(v,0,sizeof v);
scanf("%d%d",&n,&m);
dfs(1);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: