HDOJ1016(标准dfs)
2015-07-27 17:45
302 查看
标准DFS模板:
#include <iostream> #include <cstdio> #include <cstring> using namespace std; int isPrime[40]={0,0,1,1,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1}; int vis[21]; int A[21]; void dfs(int index,int n) { if(index==n&&isPrime[A[index-1]+A[0]]) { printf("%d",A[0]); for(int i=1;i<n;i++) printf(" %d",A[i]); printf("\n"); return ; } for(int i=2;i<=n;i++) { if(!vis[i]&&isPrime[i+A[index-1]]) { vis[i]=1; A[index]=i; dfs(index+1,n); vis[i]=0; } } } int main() { int n; int T=0; while(scanf("%d",&n)!=EOF) { printf("Case %d:\n",++T); if(n%2==1) continue; memset(A,0,sizeof(A)); A[0]=1; dfs(1,n); printf("\n"); } return 0; }
相关文章推荐
- android 监测数据库变化 ContentObserver
- MCS速率计算公式
- 一个优秀的程序员
- 拆分单链表(a1,b1,a2,b2....an,bn)=(a1,...an)+(bn,...b1)
- 一位ACM过来人的心得
- AngularJS的一些基本样式初窥
- #面向对象的三大基本特征
- 英语总结——木桶原理
- Flood Fill Image
- MyEclipse 8.6 更新安装 maven插件
- JVM 进阶 三 基本垃圾回收算法
- 防止apk被捆绑加入的判断
- 杭电 1865 1string
- 生成MyEclipse6.5&7.5&8.0注册码的java源码
- Android编程权威指南-第一章挑战练习二:添加后退按钮
- python安装
- STL使用概述
- Notification 的使用
- Best Time to Buy and Sell Stock II
- zookeeper无法启动"Unable to load database on disk"