UVA 524 - Prime Ring Problem
2013-03-24 12:21
337 查看
先初始化个到31的质数表
再回溯
再回溯
#include <iostream> #include <memory.h> #include <cstdio> #include <vector> using namespace std; #define MAX 17 bool isP[]={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}; bool used[MAX]; int n; vector<int>stak; void backtracking(int curi){ if(curi==n){ for (int i=0;i<stak.size();++i) { if(i>0)printf(" "); printf("%d",stak[i]); } printf("\n"); return ; } if(curi+1==n){ for (int i=2;i<=n;++i) { if(isP[stak[curi-1]+i]&&isP[stak[0]+i]&&!used[i]){ used[i]=1; stak.push_back(i); backtracking(curi+1); stak.pop_back(); used[i]=0; } } }else{ for (int i=2;i<=n;++i) { if(isP[stak[curi-1]+i]&&!used[i]){ used[i]=1; stak.push_back(i); backtracking(curi+1); stak.pop_back(); used[i]=0; } } } } int main(){ int cas=1; scanf("%d",&n); while (1) { printf("Case %d:\n",cas++); used[1]=1; stak.push_back(1); backtracking(1); stak.pop_back(); used[1]=0; if(scanf("%d",&n)==1)printf("\n"); else break; } return 0; }
相关文章推荐
- UVA - 524 Prime Ring Problem
- uva 524 - Prime Ring Problem(dfs)
- UVa 524 Prime Ring Problem (例题7-4)
- HDU 1016 && Uva 524 Prime Ring Problem(素数环)
- UVA - 524 Prime Ring Problem
- uva 524 prime ring problem——yhx
- UVA524- Prime Ring Problem
- UVa - 524 - Prime Ring Problem
- 紫书搜索 例题7-4 UVA - 524 Prime Ring Problem
- UVa 524 Prime Ring Problem(素数环)
- UVa - 524 - Prime Ring Problem
- UVA - 524 Prime Ring Problem(dfs回溯法)
- uva 524 prime ring problem——yhx
- UVA - 524:Prime Ring Problem
- Prime Ring Problem UVA - 524 回溯
- Uva 524 Prime Ring Problem
- UVA - 524 Prime Ring Problem
- UVa 524 Prime Ring Problem(DFS , 回溯)
- UVa 524 - Prime Ring Problem
- UVa 524 Prime Ring Problem (回溯)