【DFS】nyoj 488 素数环
2013-05-29 21:27
337 查看
http://acm.nyist.net/JudgeOnline/problem.php?pid=488
#include<iostream> #include<cstdio> #include<cstring> using namespace std; int a[50],save[25],vis[25]; int n,flag; void DFS(int x,int num) { int i; if(x==n&&!a[1+num]) //n-1个数 { for(i=0;i<n-1;i++) cout<<save[i]<<' '; cout<<save[i]<<endl; } for(i=2;i<=n;i++) { if(!vis[i]&&!a[num+i]) { vis[i]=1; save[x]=i; DFS(x+1,i); vis[i]=0;//回溯 } } } int main() { int i,j,k; memset(a,0,sizeof(a)); for(i=2;i<10;i++) { if(!a[i]) for(j=2*i;j<50;j+=i) a[j]=1; } k=1; while(cin>>n&&n) { cout<<"Case "<<k++<<":"<<endl; if(n==1)//1自成环 {cout<<1<<endl;continue;} if(n%2!=0)//奇数不可能成环 {cout<<"No Answer"<<endl;continue;} memset(vis,0,sizeof(vis)); save[0]=vis[1]=1; DFS(1,1); } return 0; }
相关文章推荐
- NYOJ 488 素数环(DFS)
- NYOJ 题目488 素数环(非图DFS)
- nyoj 488素数环 回溯dfs
- NYOJ 488 素数环 (深搜DFS)
- NYOJ 488 素数环(DFS)
- nyoj488 素数环(dfs)
- nyoj 488 素数环 【dfs】
- NYOJ 488-素数环【dfs】
- nyoj 488 素数环 【dfs】
- NYOJ 题目488 素数环(DFS)
- NYOJ ~ 488 ~ 素数环 (DFS+剪枝)
- nyoj 488 素数环
- NYOJ366 D的小L 和 NYOJO32 组合数 和 NYOJ19 擅长排列的小明 和 NYOJ488 素数环 【递归】
- nyoj-448 素数环(DFS)
- 素数环(剪枝)nyoj488
- 素数环 NYOJ dfs
- NYOJ-488 素数环
- NYOJ 488 素数环
- NYOJ 488 素数环(深搜)
- NYOJ 素数环(经典DFS+回溯)