您的位置:首页 > 其它

hdu--1016 素素环(dfs)

2011-06-12 11:17 302 查看
#include "stdio.h"
#include "string.h"
#include "math.h"
int visit[22],save[22];
int n,k=1,cur;

int Isprime(int x)
{
int i;
if(x==1||x==2) return 1;
for(i=2;i<=sqrt(x);i++)
{
if(x%i==0) return 0;
}
return 1;
}

void DFS(int cur)
{
int i;
if(cur==n&&Isprime(save[cur-1]+save[0])==1)
{
printf("%d",save[0]);
for(i=1;i<n;i++) printf(" %d",save[i]);
printf("/n");
}
else for(i=2;i<=n;i++)
if(!visit[i]&&Isprime(save[cur-1]+i))
{
visit[i]=1;
save[cur]=i;
DFS(cur+1);
visit[i]=0;
}
}

int main()
{
save[0]=1;
while(scanf("%d",&n)!=EOF)
{
memset(visit,0,sizeof(visit));

printf("Case %d:/n",k++);
DFS(1);
printf("/n");
}
return 0;
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  math.h include ini