hdu 1016 Prime Ring Problem(回溯)
2014-01-26 19:44
423 查看
/*
题意:素数环,相邻的两个数的和为素数。
*/
题意:素数环,相邻的两个数的和为素数。
*/
#include<iostream> using namespace std; int ans[21], n; bool a[40], b[21]; void work(int k) { int i; if(k==n+1) { if(!a[ans[1]+ans ]) return; bool pp=false; for(i=1; i <= n; i++ ) { if(pp) printf(" "); printf("%d", ans[i]); pp=true; } printf("\n"); return ; } for(i=1; i <= n; i++ ) { if(!b[i]) { ans[k]=i; if(ans[1]!=1) return; if(a[ans[k]+ans[k-1]]==false) continue; b[i]=true; work(k+1); b[i]=false; } } } int main() { memset(a, false, sizeof(a)); a[1]=a[2]=a[3]=a[5]=a[7]=a[11]=a[13]=a[17]=a[19]=a[23]=a[29]=a[31]=a[37]=true; int p=1; while(scanf("%d", &n) != EOF) { printf("Case %d:\n", p++); memset(b, false, sizeof(b)); work(1); printf("\n"); } return 0; }
相关文章推荐
- HDU 1016 Prime Ring Problem(DFS回溯)
- HDU 1016 Prime Ring Problem(简单回溯)
- [HDU 1016]--Prime Ring Problem(回溯)
- HDU1016 Prime Ring Problem(DFS回溯)
- HDU 1016 Prime Ring Problem (DFS回溯)
- HDU 1016 Prime Ring Problem(回溯/深搜)
- HDU 1016 Prime Ring Problem(经典DFS+回溯)
- HDU-#1016 Prime Ring Problem(DFS+回溯)
- HDU 1016 Prime Ring Problem(DFS入门)
- Hdu 1016 Prime Ring Problem
- hdu 1016 Prime Ring Problem
- HDU 1016 Prime Ring Problem(DFS回溯+素数判断)
- Prime Ring Problem HDU - 1016
- HDU 1016 Prime Ring Problem(DFS)
- HDU 1016-Prime Ring Problem
- hdu 1016 Prime Ring Problem
- HDU 1016 Prime Ring Problem - DFS模板题
- hdu 1016 Prime Ring Problem
- HDU 1016-Prime Ring Problem(DFS)
- hdu 1016 Prime Ring Problem(dfs)