zoukankan      html  css  js  c++  java
  • uva 524 prime ring problem——yhx

      Prime Ring Problem 

    A ring is composed of n (even number) circles as shown in diagram. Put natural numbers $1, 2, dots, n$ into each circle separately, and the sum of numbers in two adjacent circles should be a prime.


    Note: the number of first circle should always be 1.

    Input 

    n (0 < n <= 16)

    Output 

    The output format is shown as sample below. Each row represents a series of circle numbers in the ring beginning from 1 clockwisely and anticlockwisely. The order of numbers must satisfy the above requirements.


    You are to write a program that completes above process.

     1 #include<cstdio>
     2 #include<cstring>
     3 bool prm[35],vis[20];
     4 int a[20],n;
     5 bool ck(int x)
     6 {
     7     int i;
     8     for (i=2;i*i<=x;i++)
     9       if (x%i==0) return 0;
    10     return 1;
    11 }
    12 void dfs(int p)
    13 {
    14     int i,j,k,x,y,z;
    15     if (p==n+1)
    16     {
    17         if (prm[a[n]+a[1]])
    18         {
    19             printf("%d",a[1]);
    20             for (i=2;i<=n;i++)
    21               printf(" %d",a[i]);
    22             printf("
    ");
    23         }
    24         return;
    25     }
    26     for (i=2;i<=n;i++)
    27       if (vis[i]==0&&prm[i+a[p-1]])
    28       {
    29           a[p]=i;
    30           vis[i]=1;
    31           dfs(p+1);
    32           vis[i]=0;
    33       }
    34 }
    35 int main()
    36 {
    37     int i,j,k,p,q,x,y,z,t;
    38     bool bbb=0;
    39     for (i=2;i<=35;i++)
    40       prm[i]=ck(i);
    41     a[1]=1;
    42     t=0;
    43     while (scanf("%d",&n)==1)
    44     {
    45         if (bbb) printf("
    ");
    46         bbb=1;
    47         memset(vis,0,sizeof(vis));
    48         vis[1]=1;
    49         printf("Case %d:
    ",++t);
    50         dfs(2);
    51     }
    52 }

    素数环。注意边界。注意每组数据间的回车(虽然题上没说)。

  • 相关阅读:
    关于ADO.NET连接池
    The Cost of GUIDs as Primary Keys
    数据库反规范设计
    如何快速的呈现我们的网页(转)
    小议数据库主键选取策略(转自吕震宇老师博文)
    javascript 单元测试 (Jsunit应用) 转
    sqlserver版本降级方法
    算术运算表达式正则及分析
    sql STUFF用法
    Flex DashBoard功能
  • 原文地址:https://www.cnblogs.com/SBSOI/p/5575028.html
Copyright © 2011-2022 走看看