hdu 1016 Prime Ring Problem
2012-10-19 13:57
363 查看
Prime Ring Problem
[b]Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 14880 Accepted Submission(s): 6787
[/b]
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
Source
Asia 1996, Shanghai (Mainland China)
Recommend
JGShining
#include<iostream> #include<mem.h> #include<stdio.h> using namespace std; bool b[20]; int a[20]; int n; bool prime(int p) { int i; if(p==3) { return true; } for(i=2;i<=p/2;i++) { if(p%i==0)return false; else if(i==p/2) { return true; } } } void DFS(int k) { if(k>n && prime(a +a[1])==true) { for(int i=1; i<n; i++) printf("%d ",a[i]); printf("%d\n",a ); return; } for(int i=2; i<=n; i++) { if(b[i]==false&& prime(a[k-1]+i)==true) { b[i]=true; a[k]=i; DFS(k+1); b[i]=false; } } } int main() { int t=1; while(~scanf("%d",&n)) { printf("Case %d:\n",t++); if(n%2==0) { memset(b,0,sizeof(b)); memset(a,0,sizeof(a)); a[1]=1; DFS(2); } printf("%s\n",""); } }
相关文章推荐
- HDU 1016 Prime Ring Problem DFS
- HDU 1016 Prime Ring Problem
- HDU 1016 Prime Ring Problem DFS + 记忆化搜索
- hdu 1016 Prime Ring Problem
- HDU 1016 Prime Ring Problem
- HDU 1016 Prime Ring Problem 题解
- 【HDU 1016】Prime Ring Problem —— DFS
- HDU 1016 Prime Ring Problem(DFS)
- hdu 1016 Prime Ring Problem
- hdu 1016 Prime Ring Problem
- HDU_1016 Prime Ring Problem(素数环|经典回朔|DFS)
- hdu 1016 Prime Ring Problem(DFS)
- HDU 1016 Prime Ring Problem
- HDU--杭电--1016--Prime Ring Problem--深度优先搜索--此类中的水题
- [ACM] hdu 1016 Prime Ring Problem (DFS)
- 【HDU 1016】Prime Ring Problem(DFS)
- HDU 1016 Prime Ring Problem
- Hdu 1016 - Prime Ring Problem
- [HDU] 1016 Prime Ring Problem(DFS)
- HDU 1016 Prime Ring Problem(DFS 素数环问题)