暴力求解——素环数 Prime Ring Problem ,UVa 524

Description

暴力求解——素环数  Prime Ring Problem ,UVa  524

A ring is composed of n (even number) circles as shown in diagram. Put natural numbers 暴力求解——素环数  Prime Ring Problem ,UVa  524 into each circle separately, and the sum of numbers in two adjacent circles should be a prime.

暴力求解——素环数  Prime Ring Problem ,UVa  524


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 

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个数中相加可能是素数的数放入数组中标记,再用一个数组判断这个数字是否用过(即出现过),需注意的是最后一个数要与第一个数的和要也为素数。

程序代码链接:http://paste.ubuntu.com/11953276/