素数环uva524
来源:互联网 发布:淘宝店铺推广平台 编辑:程序博客网 时间:2024/06/03 21:43
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
题意:输入 正整数n,把整数1到n组成一个环,使得相邻两个整数之和均为素数,输出时从整数1开始逆时针排列,n<=16。
思路:使用dfs,每次填数时判断是否符合条件即可。
代码为:
#include<iostream>#include<cstdio>#include<string.h>using namespace std;int n,q;int a[20],b[32]={0,1,0,1,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,1},c[20];void dfs(int cur){ if(cur==n&&b[a[0]+a[cur-1]]) { cout<<a[0]; //符合输出条件 for(int i=1;i<n;i++) { cout<<" "<<a[i]; } cout<<endl; } else for(int i=2;i<=n;i++) { if(!c[i]&&b[i+a[cur-1]]) { a[cur]=i; c[i]=1; dfs(cur+1); a[cur]=0; c[i]=0; } }}int main(){ q=1; while(cin>>n) { if(q>1) //控制空行的输出,必须符合,否则错误。 cout<<endl; memset(a,0,sizeof(a)); memset(c,0,sizeof(c)); a[0]=1; cout<<"Case "<<q++<<":"<<endl; dfs(1); } return 0;}
- UVa524素数环
- uva524素数环
- uva524素数环
- re:uva524素数环
- Uva524—素数环
- 素数环uva524
- 素数环UVa524
- 例题7-4 素数环 UVa524
- uva524 素数环 —— 回溯
- UVa524 例题7-4 素数环 (Prime Ring Problem)
- UVA524
- uva524
- uva524
- UVa524
- UVa524
- UVa524-Prime Ring Problem(DFS+素数)
- UVA524- Prime Ring Problem
- UVa524 - Prime Ring Problem
- 26. Remove Duplicates from Sorted Array
- LeetCode 414. Third Maximum Number
- 数组Array和操作集合Collections的静态方法;
- 夯实基础
- 环境搭建ssh-maven
- 素数环uva524
- animation动画
- UML
- 连接mysql服务器出现 10038
- 牛客网 求一个整数可以由多少素数对组成
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 >
- CentOS 7 安装 netmap
- USACO2010 驮运
- Today Extension