首页 > 代码库 > hdu 1016 Prime Ring Problem (素数环)
hdu 1016 Prime Ring Problem (素数环)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1016
题目大意:输入一个n,环从一开始到n,相邻两个数相加为素数。
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 using namespace std; 5 int visit[22],q[100],n; 6 int sushu(int n) 7 { 8 int i; 9 for (i=2; i*i<=n; i++)10 if (n%i==0)11 return 0;12 return 1;13 }14 void dfs(int x,int y)15 {16 int i;17 q[x]=y;18 visit[y]=1;19 if(x==n)20 {21 if(sushu(q[x]+q[1]))22 {23 printf("1");24 for(i=2; i<=n; i++)25 printf(" %d",q[i]);26 printf("\n");27 }28 return ;29 }30 for(i=1; i<=n; i++)31 {32 if(!visit[i]&&sushu(q[x]+i))33 {34 dfs(x+1,i);35 visit[i]=0;36 }37 }38 return ;39 }40 int main()41 {42 int flag=1;43 while(scanf("%d",&n)!=EOF)44 {45 printf("Case %d:\n",flag++);46 memset(visit,0,sizeof(visit));47 dfs(1,1);48 printf("\n");49 }50 return 0;51 }
特别注意:Print a blank line after each case.注意空行哦!
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。