九度OJ 1459 Prime ring problem
2014-03-05 21:59
246 查看
#include <stdio.h> int prime[12] = {2,3,5,7,11,13,17,19,23,29,31,37}; int ans[18]; int cnt; int n; bool visit[18]; bool isPrime(int x) { for(int i = 0; i < 12; i++) if(x == prime[i]) return true; return false; } void DFS() { if(cnt == n) { if(isPrime(ans[cnt]+ans[1])) { printf("1"); for(int j = 2; j <= n; j++) { printf(" %d",ans[j]); } printf("\n"); } } else { for(int i = 2; i <= n; i++) { if(visit[i] == false) { if(isPrime(i+ans[cnt])) { ans[++cnt] = i; visit[i] = true; DFS(); visit[i] = false; cnt--; } } } } } int main() { int cas = 1; while(scanf("%d",&n) != EOF) { int i; for(i = 1; i <= n; i++) visit[i] = false; ans[1] = 1; cnt = 1; printf("Case %d:\n",cas); DFS(); printf("\n"); cas++; } }
相关文章推荐
- 题目1459:Prime ring problem(素数环问题——递归算法)
- 题目1459:Prime ring problem
- 递归--【全排列问题】九度1459.Prime ring problem
- 题目1459:Prime ring problem(素数环问题)
- 九度OJ-1459:Prime ring problem
- 【九度】题目1459:Prime ring problem
- 九度OJ 教程89 递归+回溯之《Prime ring problem》
- 题目1459:Prime ring problem
- JD 题目1459:Prime ring problem (dfs)
- 九度1459:Prime ring problem
- 九度OJ 1459 Prime ring problem(递归)
- 题目1459:Prime ring problem
- Hdu 1016 Prime Ring Problem
- Uva524——Prime Ring Problem
- ACM--steps--4.3.2--Prime Ring Problem
- HDU 1016 Prime Ring Problem(搜索入门题 DFS,多种方式)
- 【例题 7-4 UVA - 524】Prime Ring Problem
- HDU1016 Prime Ring Problem DFS 简单题
- HDU 1016 Prime Ring Problem(DFS)
- 【HDU 1016】Prime Ring Problem —— DFS