HDU1016(DFS)
生活随笔
收集整理的這篇文章主要介紹了
HDU1016(DFS)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:Prime Ring Problem
?
#include <stdio.h> #include <string.h> #define N 105int n; int a[25]; bool visited[25];bool prime[N];void isprime() {int i,j;memset(prime,true,sizeof(prime));for(i=2;i<N;i++){for(j=i+i;j<N;j+=i){prime[j]=false;}} }void DFS(int v) {int i;if(v==n+1&&prime[a[n]+1]){for(i=1;i<=n;i++)printf("%d%c",a[i],i == n ? '\n':' ');}for(i=2;i<=n;i++){if(!visited[i]&&prime[i+a[v-1]]){a[v]=i;visited[i]=true;DFS(v+1);visited[i]=false;}} }int main() {int k=0;isprime();while(~scanf("%d",&n)){k++;a[1]=1;memset(visited,false,sizeof(visited));printf("Case %d:\n",k);DFS(2);puts("");} }
?
總結
以上是生活随笔為你收集整理的HDU1016(DFS)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDU2665(函数式线段树-区间第K大
- 下一篇: hdu3549(网络流入门题-最大流的F