HDOJ1016 搜索题(DFS)
2012-09-19 18:40
246 查看
题目链接
题目大意:给你一个数n,让你找到从1到n的序列,使相邻的两项相加的和是素数(包括第一个数和最后一个数的和)。
经典的DFS题!
dfs(int k,int now) //k表示递归的深度,now表示已生成序列的末尾数。
贴代码了:
题目大意:给你一个数n,让你找到从1到n的序列,使相邻的两项相加的和是素数(包括第一个数和最后一个数的和)。
经典的DFS题!
dfs(int k,int now) //k表示递归的深度,now表示已生成序列的末尾数。
贴代码了:
#include <iostream> #include <cstdio> #include <cstdlib> using namespace std; int ans[25]; int f[25]; int n; int isprime(int x) { for(int i=2;i<=x/2;i++) { if(x%i==0) return 0; } return 1; } void dfs(int k,int now) { if(k==n) { if(isprime(now+1)) { ans[k]=now; for(int i=0;i<n;i++) { printf("%d%c",ans[i],i==n-1?'\n':' '); } } return; } for(int i=2;i<=n;i++) { if(!f[i]&&isprime(now+i)) { f[i]=1; ans[k]=i; dfs(k+1,i); f[i]=0; } } } int main() { int ncas=1; while(scanf("%d",&n)!=EOF) { printf("Case %d:\n",ncas++); memset(f,0,sizeof(f)); ans[0]=1; dfs(1,1); putchar('\n'); } return 0; }
相关文章推荐
- HDOJ——1016(经典dfs搜索题)
- HDOJ1016(搜索DFS)
- HDOJ1016素数环 DFS
- HDU 1016(搜索题,DFS)
- HDOJ 题目1016 Prime Ring Problem(搜素,dfs)
- hdoj 1016 素数圆环问题(深度优先搜索z和道题 )
- HDU/HDOJ 1241 Oil Deposits (DFS)深度优先搜索
- HDOJ-1253 基础搜索问题总结[DFS()+BFS()]
- hdoj problem 1016 Prime Ring Problem(素数环&&素数问题+DFS(回溯法))
- HDU 1016 搜索问题 dfs
- hdoj - 1258 Sum It Up && hdoj - 1016 Prime Ring Problem (简单dfs)
- 搜索专题HDOJ1016输出环
- HDOJ 1016 素数环(DFS)
- hdoj 1016 Prime Ring Problem【DFS】
- HDU/HDOJ 1016 简单dfs
- hdoj1016 Prime Ring Problem (深度搜索)
- HDOJ 5546 Ancient Go(qwb铜牌题 DFS搜索)
- HDOJ 1016(DFS)
- HDU 1016 Prime Ring Problem DFS + 记忆化搜索
- HDOJ 1016 Prime Ring Problem(dfs+回溯)