博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVa524
阅读量:5236 次
发布时间:2019-06-14

本文共 1795 字,大约阅读时间需要 5 分钟。

524 Prime Ring Problem

A ring is composed of n (even number) circles as shown in diagram. Put
natural numbers 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.
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.
Sample Input
68
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

题意:

       给出一个偶数N,需要将1到N这N个数等距排列在一个圆周上,使得相邻两个数的和总是一个素数,将所有的解(镜面对称的两个解视作不同解)都按顺时针顺序打印出来。

 

输入:

       正整数N。

输出:

       所有解。

分析:

使用深搜的方式进行枚举即可。从1开始打印解。

1 #include
2 #include
3 #define MAX_N 50 4 using namespace std; 5 int n,A[MAX_N] = {
1},ispe[MAX_N],vis[MAX_N]; 6 void dfs(int cur){ 7 if(cur == n && ispe[A[0] + A[n - 1]]){ 8 for(int i = 0; i < n; i++) 9 i ? printf(" %d", A[i]) : printf("%d", A[i]);10 printf("\n");11 }else for(int i = 2; i <= n; i++)12 if(!vis[i]&& ispe[i + A[cur - 1]]){13 A[cur] = i;14 vis[i] = 1;15 dfs(cur + 1);16 vis[i] = 0;17 }18 }19 int main(){20 for(int i = 2; i <= 50; i++) ispe[i] = 1;21 for(int i = 2; i <= 50; i++)22 for(int j = i + i; j + i <= 50; j += i)23 ispe[j] = 0;24 int kase = 0;25 while(cin >> n){26 if(kase++)27 printf("\n");28 printf("Case %d:\n",kase);29 dfs(1);30 }31 return 0;32 }
View Code

 

转载于:https://www.cnblogs.com/cyb123456/p/5792815.html

你可能感兴趣的文章
洛谷P2777
查看>>
PHPStorm2017设置字体与设置浏览器访问
查看>>
SQL查询总结 - wanglei
查看>>
安装cocoa pods时出现Operation not permitted - /usr/bin/xcodeproj的问题
查看>>
GIT笔记:将项目发布到码云
查看>>
JavaScript:学习笔记(7)——VAR、LET、CONST三种变量声明的区别
查看>>
JavaScript 鸭子模型
查看>>
SQL Server 如何查询表定义的列和索引信息
查看>>
GCD 之线程死锁
查看>>
NoSQL数据库常见分类
查看>>
一题多解 之 Bat
查看>>
Java 内部类
查看>>
{面试题7: 使用两个队列实现一个栈}
查看>>
【练习】使用事务和锁定语句
查看>>
centos7升级firefox的flash插件
查看>>
Apache Common-IO 使用
查看>>
评价意见整合
查看>>
二、create-react-app自定义配置
查看>>
Android PullToRefreshExpandableListView的点击事件
查看>>
系统的横向结构(AOP)
查看>>