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 }

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

  • 相关阅读:
    Redis使用小结
    MongoDB中的变更通知
    发布一个从迅雷下载字幕的小工具
    在Windows下通过netsh命令实现端口映射
    .net core在Linux ARM板上运行
    通过WinAPI播放PCM声音
    spring中scope作用域(转)
    Spring <context:annotation-config/> 解说(转)
    Jenkins+Maven+SVN快速搭建持续集成环境(转)
    maven中跳过单元测试(转)
  • 原文地址:https://www.cnblogs.com/SBSOI/p/5575028.html
Copyright © 2011-2022 走看看