博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 素数环
阅读量:6990 次
发布时间:2019-06-27

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

算法:搜索

题意:相邻的两个数之和是素数,别忘了最后一个,和第一个

Problem Description

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

代码:

#include 
#include
#include
#include
#include
using namespace std;int a[30],b[45],n,m,c[30];void cmp(){ memset(b,1,sizeof(b)); b[1]=b[0]=0; for(int i=2;i<=22;i++) { for(int j=2*i;j<45;j=j+i) b[j]=0; }}void dfs(int x,int k){ if(k==n&&b[c[0]+c[n-1]]) { for(int i=0;i
>n) { for(i=1;i<=n;i++) a[i]=0; c[0]=1; cout<<"Case "<<++j<<":"<

转载于:https://www.cnblogs.com/wangyumin/p/5323458.html

你可能感兴趣的文章
Android下用Activity实现圆角的自定义弹窗
查看>>
MAVEN创建JAVA的Web工程
查看>>
paip.提升效率--gui 的选择--swing最佳实践swt awt
查看>>
WPF之资源字典zz
查看>>
C/C++中printf/cout 计算顺序与缓冲区问题
查看>>
IE11下Forms身份认证无法保存Cookie的问题
查看>>
[复变函数]第21堂课 6 留数理论及其应用 6. 1 留数
查看>>
easyui datagrid列中使用tooltip
查看>>
【C语言】练习2-1
查看>>
深入分析 Java 中的中文编码问题
查看>>
设计模式初学者笔记:Builder模式
查看>>
javascript常用的107个语句
查看>>
【剑指offer】八皇后问题
查看>>
【Algorithm】希尔排序
查看>>
编程语言对lambda表达式的支持
查看>>
[家里蹲大学数学杂志]第054期图像分割中的无边缘活动轮廓模型
查看>>
Visual Studio 2010快捷键大全
查看>>
Keepalived原理与实战精讲
查看>>
GitHub
查看>>
数学图形(1.1) 圆,椭圆
查看>>