hdu 1016 Prime Ring Problem
2013-07-26 18:06
363 查看
#include<stdio.h> #include<string.h> #include<math.h> #define Max 41 bool prime[Max]; int ans[Max]; bool flag[Max]; int n; void Myprime() { int i,j; memset(prime,true,sizeof(prime)); prime[2]=true; for(i=2;i<sqrt(Max+0.1);i++) { if(prime[i]) { for(j=2;i*j<Max;j++) prime[i*j]=false; } } //for(i=2;i<Max;i++) //if(prime[i]) //printf("%d\n",i); } void Dfs(int i) { int j; if(i==n&&prime[ans[0]+ans[n-1]]) { for(j=0;j<n-1;j++) printf("%d ",ans[j]); printf("%d\n",ans[n-1]); } else { for(j=2;j<=n;j++) { if(flag[j]&&prime[j+ans[i-1]]) { flag[j]=false; ans[i]=j; Dfs(i+1); flag[j]=true; } else continue; } } } int main() { int i=1; Myprime(); while(scanf("%d",&n)!=EOF) { memset(ans,0,sizeof(ans)); ans[0]=1; memset(flag,true,sizeof(flag)); printf("Case %d:\n",i++); Dfs(1); printf("\n"); } return 0; }
相关文章推荐
- HDU 1016 Prime Ring Problem(经典DFS )
- HDU 1016 Prime Ring Problem
- HDU1016 Prime Ring Problem(DFS回溯)
- HDU - 1016 Prime Ring Problem ——DFS
- HDU 1016 Prime Ring Problem (dfs)
- Prime Ring Problem hdu 1016 dfs
- HDU 1016 Prime Ring Problem
- Hdu-1016 Prime Ring Problem【DFS】
- Hdu 1016 Prime Ring Problem
- HDU 1016 Prime Ring Problem(DFS)
- (step 4.3.3)hdu 1016(Prime Ring Problem——DFS)
- day3 HDU 1016 Prime Ring Problem
- 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]
- hdu 1016 Prime Ring Problem(素数环)
- HDU 1016 Prime Ring Problem
- HDU 1016 Prime Ring Problem