nyist 132Prime Ring Problem
来源:互联网 发布:ipsos待遇 知乎 编辑:程序博客网 时间:2024/06/05 22:33
rime Ring Problem
A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., 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.
输入
n (0 < n < 20).
输出
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. Print solutions in lexicographical order.
You are to write a program that completes above process.
Print a blank line after each case.
You are to write a program that completes above process.
Print a blank line after each case.
样例输入
68
样例输出
Case 1:1 4 3 2 5 61 6 5 2 3 4Case 2:1 2 3 8 5 6 7 41 2 5 8 3 4 7 61 4 7 6 5 8 3 21 6 7 4 3 8 5 2
AC代码:
#include<iostream>#include<cstdio>#include<cstring>using namespace std;int prime[40]={0};int dir[21],ring[21];void pri(){ int i,j; prime[0]=prime[1]=1; for(i=2;i<=6;++i) for(j=i*i;j<40;j+=i) prime[j]=1;}int DFS(int x,int y){ int i; if(x==y+1&&prime[ring[y]+ring[1]]==0) { printf("1 "); for(i=2;i<y;++i) printf("%d ",ring[i]); printf("%d\n",ring[y]); return 0; } for(i=2;i<=y;++i) { if(!dir[i]&&!prime[i+ring[x-1]]) { dir[i]=1; ring[x]=i; DFS(x+1,y); dir[i]=0; } }}int main(){ int T=1,n; pri(); while(~scanf("%d",&n)) { printf("Case %d:\n",T++); if(n==1)printf("1\n"); else if(n&1)continue; else { memset(dir,0,sizeof(dir)); dir[1]=ring[1]=1; DFS(2,n);}printf("\n"); } return 0;}
0 0
- nyist 132Prime Ring Problem
- 1016 Prime Ring Problem
- HDOJ1016-Prime Ring Problem
- HDU1016 Prime Ring Problem
- DFS__1195: Prime Ring Problem
- Prime Ring Problem
- 1016:Prime Ring Problem
- 1016 Prime Ring Problem
- HDUOJ1016 Prime Ring Problem
- 1016 Prime Ring Problem
- Prime Ring Problem
- hdu1016 Prime Ring Problem
- Prime Ring Problem(dfs)
- Prime Ring Problem
- Prime Ring Problem
- Prime ring problem
- hdu1016-Prime Ring Problem
- HDU1035 Prime Ring Problem
- 二叉树的层次遍历
- 关于android编译失败的集中情况
- 字典树 详解 模板代码 加典型习题
- setuid函数解析
- mac安装nginx步骤
- nyist 132Prime Ring Problem
- 最大堆和最小堆
- Java I/O学习(附实例和详解)
- linux设备驱动程序注册过程详解
- 设置ActionBar或ToolBar菜单文字颜色及大小
- 匿名类型
- Hash 算法
- 设计模式之概述
- 一些css、css3画的效果等,持续更新