zoukankan      html  css  js  c++  java
  • hdu1016Prime Ring Problem深搜

    #include<stdio.h>
    #include<iostream>
    #include<string.h>
    #include<queue>
    #include<stack>
    #include<list>
    #include<stdlib.h>
    #include<algorithm>
    #include<vector>
    #include<map>
    #include<set>
    using namespace std;
    int n;
    int prime[100];
    
    void Prime()
    {
        for(int i=2;i<=100;i++)
            for(int j=2;j<=100&&i*j<=100;j++)
            if(!prime[i]) prime[i*j]=1;
        prime[0]=1;prime[1]=1;
    }
    
    int vis[100];
    int a[100];
    void dfs(int x)
    {
        if(x==n-1){
            for(int i=1;i<=n;i++){
                if(!vis[i]&&!prime[1+i]&&!prime[a[x-1]+i]){
                    a[x]=i;
                    printf("%d",1);
                    for(int j=1;j<n;j++)
                        printf(" %d",a[j]);
                    printf("
    ");
                }
            }
            return ;
        }
        for(int i=1;i<=n;i++){
            if(!vis[i]&&!prime[a[x-1]+i]){
                a[x]=i;
                vis[i]=1;
                dfs(x+1);
                vis[i]=0;
            }
        }
    }
    
    int main()
    {
        int t=0;
        Prime();
        while(~scanf("%d",&n)){
            printf("Case %d:
    ",++t);
            memset(vis,0,sizeof(vis));
            a[0]=1;vis[1]=1;
            dfs(1);
            printf("
    ");
        }
        return 0;
    }
  • 相关阅读:
    避免多次提交
    Django 10
    Django 08
    Django 07
    Django 06
    Django 05
    Django 04
    Django 03
    Django 02
    Django 01
  • 原文地址:https://www.cnblogs.com/yigexigua/p/3845196.html
Copyright © 2011-2022 走看看