HDU 1016 Prime Ring Problem(DFS)
来源:互联网 发布:foxmail mac邮件位置 编辑:程序博客网 时间:2024/05/20 18:16
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1016
#include<stdio.h>#include<string.h>int a[25];//a[i]来表示第i个位置放数字a[i]int vis[25];//vis[i]记录数字i是否被放置好int n;bool is_prime(int k,int l)//判断质数{ int s=k+l; for(int i=2; i*i<=s; i++) { if(s%i==0) return 0; } return 1;}void dfs(int n,int num){ if((num==n)&&is_prime(a[n-1],a[0]))//表示已经搜索到n-1的下一个位置(注意是从位置0开始的),即n个数都放置好了,且最后一个数与第一个数相加也是质数 { for(int i=0; i<n-1; i++) printf("%d ",a[i]); printf("%d\n",a[n-1]); } else { for(int i=2; i<=n; i++) { if((vis[i]==0)&&is_prime(i,a[num-1]))//如果符合条件 { vis[i]=1;//数字i放进去,做标记 a[num]=i;//位置num放数字i dfs(n,num+1);//继续搜索下一个位置 vis[i]=0;//清空标记 } } }}int main(){ int cas=1; while(~scanf("%d",&n)) { printf("Case %d:\n",cas++); memset(vis,0,sizeof(vis)); a[0]=1;//题目规定,位置0一定要是1 vis[1]=1;//数字1已被放置好 dfs(n,1); printf("\n"); } return 0;}
1 0
- Prime Ring Problem hdu 1016 dfs
- Hdu-1016 Prime Ring Problem【DFS】
- HDU 1016(Prime Ring Problem)DFS
- hdu 1016 Prime Ring Problem dfs搜索
- hdu 1016 Prime Ring Problem (dfs)
- hdu 1016 Prime Ring Problem(DFS)
- HDU 1016 Prime Ring Problem【DFS】
- HDU 1016Prime Ring Problem简单dfs
- hdu 1016 Prime Ring Problem(DFS)
- HDU 1016 Prime Ring Problem (DFS)
- HDU 1016 Prime Ring Problem 简单DFS
- HDU 1016Prime Ring Problem(dfs)
- hdu 1016 Prime Ring Problem (dfs)
- hdu 1016 Prime Ring Problem dfs
- Hdu 1016 Prime Ring Problem DFS搜索
- HDU 1016 Prime Ring Problem(DFS)
- hdu 1016Prime Ring Problem dfs
- HDU 1016 Prime Ring Problem DFS
- iOS 常量的声明和实现
- Android菜单
- mysql的binlog太大
- Installing Jenkins on Red Hat distributions
- 【C++】STL--QUEUE
- HDU 1016 Prime Ring Problem(DFS)
- 《剑指offer》——反转链表
- 网络数据获取的封装
- 原来的账号不用了。
- Java 实现下载
- win10开机后内存占用高
- Android Handler removeMessages引发postDelayed失效的问题
- CSS雪碧
- myeclipse安装git插件