您的位置:首页 > 其它

hdu 1342 Lotto (简单dfs)

2011-12-19 17:24 411 查看
感觉自己的dfs学的很烂,正好用这道题练练,顺便再研究一下dfs的思想~

这题还有一个要注意的地方就是输出格式的问题,PE了两次~

代码:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int f[15],a[15],b[15];
int n;
void dfs(int x,int s)
{
int i;
b[s]=a[x];
if(s==6)
{
for(i=1;i<=6;i++)
{
if(i==1)
printf("%d",b[i]);
else
printf(" %d",b[i]);
}
printf("\n");
return ;
}
for(i=x;i<=n;i++)
{
if(!f[i])
{
f[i]=1;
dfs(i,s+1);
f[i]=0;
}
}
}
int main()
{
int i;
scanf("%d",&n);
while(n)
{
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
memset(f,0,sizeof(f));
memset(b,0,sizeof(b));
dfs(1,0);
scanf("%d",&n);
if(n)
printf("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: