博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Prime Ring Problem HDU - 1016 ( 搜索DFS )
阅读量:4047 次
发布时间:2019-05-25

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

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. 

Input

n (0 < n < 20). 

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. Print solutions in lexicographical order. 

You are to write a program that completes above process. 
Print a blank line after each case. 

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

题意:

将n个数来放到n个位置上,相邻的两个数和一定要是素数,输出符合的序列,序列一定要是从1为开头。

放第n个数时,要记得和第一个数进行判断和是否为素数

代码:

#include
#include
#include
#include
using namespace std;int n;int vis[27]; //vis数组用来标记数是否用了int num[27]; //num来存放序列int cnt=0;int isp(int x) //判断素数{ for(int i=2;i*i<=x;i++) { if(x%i==0) return 0; } return 1;}void dfs(int step){ //如果step=n说明n个数都找到,然后要判断最后一个数和第一个数的和是否符合素数 if(step==n&&isp(num[0]+num[step-1])==1) { printf("%d",num[0]); for(int i=1;i

 

转载地址:http://epzci.baihongyu.com/

你可能感兴趣的文章
coursesa课程 Python 3 programming course_2_assessment_7 多参数函数练习题
查看>>
coursesa课程 Python 3 programming course_2_assessment_8 sorted练习题
查看>>
在unity中建立最小的shader(Minimal Shader)
查看>>
1.3 Debugging of Shaders (调试着色器)
查看>>
关于phpcms中模块_tag.class.php中的pc_tag()方法的含义
查看>>
vsftp 配置具有匿名登录也有系统用户登录,系统用户有管理权限,匿名只有下载权限。
查看>>
linux安装usb wifi接收器
查看>>
多线程使用随机函数需要注意的一点
查看>>
getpeername,getsockname
查看>>
让我做你的下一行Code
查看>>
浅析:setsockopt()改善程序的健壮性
查看>>
关于对象赋值及返回临时对象过程中的构造与析构
查看>>
VS 2005 CRT函数的安全性增强版本
查看>>
SQL 多表联合查询
查看>>
Visual Studio 2010:C++0x新特性
查看>>
drwtsn32.exe和adplus.vbs进行dump文件抓取
查看>>
cppcheck c++静态代码检查
查看>>
在C++中使用Lua
查看>>
一些socket的编程经验
查看>>
socket编程中select的使用
查看>>