zoukankan      html  css  js  c++  java
  • 素数环问题[XDU1010]

    Problem 1010 - 素数环问题
    Time Limit: 1000MS   Memory Limit: 65536KB   Difficulty:
    Total Submit: 972  Accepted: 223  Special Judge: No
    Description

      有一个由n个数字相连组成的圆环(n<20),组成圆环的数字分别为1,2,3...n-1,n.要求每两个相邻元素的和为素数。(注意:第一个元素始终为1)。

     

    Input
    n (0<n<20)
    Output
    要求输出所有符合条件的组成圆环的元素,每个符合条件的圆环按顺时针或者逆时针将元素依次输出,输出格式见样例。要求按字典序输出。
    每例以空行分开。
    Sample Input
    6
    8
    Sample Output
    Case 1:
    1 4 3 2 5 6
    1 6 5 2 3 4

    Case 2:
    1 2 3 8 5 6 7 4
    1 2 5 8 3 4 7 6
    1 4 7 6 5 8 3 2
    1 6 7 4 3 8 5 2
    Hint
     
    Source
    Wang Miao
    好像很眼熟,似乎在HDU上见过.
    #include<stdio.h>
    #include<string.h>
    int p[30];
    bool f[40],s[30];
    int n;
    void getprime()
    {
        int i,j;
        memset(f,true,sizeof(f));
        f[0]=f[1]=false;
        for (i=2;i<40;i++)
            if (f[i])
                for (j=i+i;j<40;j+=i) f[j]=false;
    }
    void print()
    {
        int i;
        for (i=1;i<n;i++) printf("%d ",p[i]);
        printf("%d
    ",p[n]);
    }
    void dfs(int x)
    {
        if (x==n)
        {
            if (f[p[x]+1]) print();
            return;
        }
        int i;
        for (i=2;i<=n;i++)
            if (!s[i])
            {
                if (f[p[x]+i])
                {
                    p[x+1]=i;
                    s[i]=true;
                    dfs(x+1);
                    s[i]=false;
                }
            }
    }
    int main()
    {
        int cas;
        getprime();
        for (cas=1;scanf("%d",&n)!=EOF;cas++)
        {
            printf("Case %d:
    ",cas);
            p[1]=1;
            memset(s,false,sizeof(s));
            s[1]=true;
            dfs(1);
            printf("
    ");
        }
        return 0;
    }

     

  • 相关阅读:
    linux 防火墙管理
    自动化运维监控工具有哪些?常用的开源运维监控工具大全
    编程必备github代码仓库使用
    安全加密算法
    浅笑若风之高效工作流程
    jmeter压力测试工具使用
    ES扩容实战记录
    在5G+AI+CLCP下拉动互联网走向物联网
    设计模式之简单工厂模式
    设计模式之单例模式
  • 原文地址:https://www.cnblogs.com/dramstadt/p/3262557.html
Copyright © 2011-2022 走看看