HDU 1016:Prime Ring Problem(基础DFS)
来源:互联网 发布:怎么看淘宝的店铺装修 编辑:程序博客网 时间:2024/06/03 22:42
Prime Ring Problem
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
68
Sample Output
Case 1:1 4 3 2 5 61 6 5 2 3 4Case 2:1 2 3 8 5 6 7 41 2 5 8 3 4 7 61 4 7 6 5 8 3 21 6 7 4 3 8 5 2
题意:
有n个数1~n,第一个数为1,求素数环
Code:
#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#define mem(a,b) memset(a,b,sizeof(a))using namespace std;int a[25];int vis[25];bool isPrim(int n){ if(n<4) return true; if(n%2==0) return false; for(int i=3; i<=sqrt(n); i++) { if(n%i==0) return false; } return true;}void DFS(int k,int m){ if(k==m+1) { if(isPrim(a[k-1]+a[1])) { for(int i=1; i<=m; i++) { printf("%d",a[i]); if(i==m) printf("\n"); else printf(" "); } } return; } for(int i=1; i<=m; i++) { if(isPrim(a[k-1]+i)&&vis[i]==0) { a[k]=i; vis[i]=1; DFS(k+1,m); vis[i]=0; } }}int main(){ int n,ca=1; while(scanf("%d",&n)!=EOF) { printf("Case %d:\n",ca++); mem(vis,0); a[1]=1; vis[1]=1; DFS(2,n); printf("\n"); } return 0;}
阅读全文
0 0
- HDU 1016:Prime Ring Problem(基础DFS)
- hdu 1016 Prime Ring Problem(DFS)
- hdu 1016 Prime Ring Problem(DFS)
- HDU 1016 Prime Ring Problem (DFS)
- HDU 1016Prime Ring Problem(dfs)
- hdu 1016 Prime Ring Problem (dfs)
- HDU 1016 Prime Ring Problem(DFS)
- HDU--1016:Prime Ring Problem (DFS)
- hdu 1016 Prime Ring Problem (DFS)
- HDU 1016-Prime Ring Problem(DFS)
- hdu 1016 Prime Ring Problem(dfs)
- HDU 1016 Prime Ring Problem(dfs)
- hdu 1016 Prime Ring Problem(DFS)
- HDU 1016 Prime Ring Problem(DFS)
- hdu 1016 Prime Ring Problem(dfs)
- 【HDU 1016】Prime Ring Problem(DFS)
- HDU 1016 Prime Ring Problem (DFS)
- hdu 1016 Prime Ring Problem (dfs)
- 搭建hadoop完全分布式集群VM+CentOS+hadoop2.7
- codeforces 773F. Test Data Generation
- linux常用命令
- c++之运算符重载基础
- 1979:Red and Black
- HDU 1016:Prime Ring Problem(基础DFS)
- JasperReport| JasperReport生成的PDF时异常
- JRebel实现远程热部署
- G1 GC日志分析
- 数据库开发技术 目录
- 有道云笔记中使用Markdown编辑器编辑文本
- usaco6.1.1 Postal Vans
- LeedCode[657]Judge Route Circle
- 第二章 模型评估与选择