hdu1016 Prime Ring Problem
2017-03-23 23:02
225 查看
#include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<cmath> #include<set> #include<queue> #include<algorithm> using namespace std; int n, a[21], vid[21]; bool isP(int c) { int q = sqrt(c); if (c == 2) { return true; } for (int i = 2; i <= q; i++) { if (c%i == 0) return false; } return true; } void fun(int k) { if (k > n && isP(a[1]+a )) { for (int i = 1; i < n; i++) { cout<<a[i]<<" "; } cout<<a <<endl; } for (int i = 2; i <= n; i++) { if (!vid[i] && isP(i+a[k-1])) { a[k] = i; vid[i] = 1; fun(k+1); vid[i] = 0; } } } void init() { memset(vid, 0, sizeof(vid)); for (int i = 0; i <= n; i++) a[i] = i; } int main() { int t = 1; a[1] = 1; while (cin>>n) { init(); printf("Case %d:\n", t); fun(2); cout<<endl; t++; } }开始用全排列做了,结果WA。。。。这个题让我明白了,全排列并不是递增或递减的。。。。
相关文章推荐
- hdu1016 Prime Ring Problem(dfs)
- hdu1016-Prime Ring Problem 素数环
- hdu(hdu1016)Prime Ring Problem
- HDU1016 Prime Ring Problem
- hdu1016-Prime Ring Problem 素数环
- hdu1016 Prime Ring Problem
- HDU1016-Prime Ring Problem(DFS)
- hdu1016 Prime Ring Problem(回溯)
- HDU1016:Prime Ring Problem(DFS)
- HDU1016 Prime Ring Problem (经典的深搜)
- hdu1016-Prime Ring Problem(回溯法)
- HDU1016:Prime Ring Problem(dfs)
- HDU1016 Prime Ring Problem
- Prime Ring Problem(HDU1016)(A)
- hdu1016 Prime Ring Problem
- hdu1016 Prime Ring Problem(回溯dfs)
- HDU1016 Prime Ring Problem(深度优先搜索)
- HDU1016 - Prime Ring Problem - dfs
- HDU1016 Prime Ring Problem DFS 简单题
- ACM 搜索 hdu1016 Prime Ring Problem