HDU1016——Prime Ring Problem(dfs,输入格式)
来源:互联网 发布:淘宝开店需要哪些软件 编辑:程序博客网 时间:2024/06/05 04:18
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.
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.
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
一个简单的dfs,一开始老是时间超限,输出超限,改得我快疯了,最后才发现是scanf里面没加’~‘的锅。。。引以为戒
#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>using namespace std;int vis[50],a[50],is_prime[50];int n;int prim(int n){ if(n==1) return 0; for(int i=2;i<n;++i) if(n%i==0) return 0; return 1;}void dfs(int v){ if(v==n) { if(!is_prime[a[v]+a[1]]) return; for(int i=1;i<n;++i) printf("%d ",a[i]); printf("%d\n",a[n]); } for(int i=2;i<=n;++i) { if(!vis[i]&&is_prime[a[v]+i]) { a[v+1]=i; vis[i]=1; dfs(v+1); vis[i]=0; } }}int main(){ int cnt=1; for(int i=1;i<=50;++i) is_prime[i]=prim(i); while(~scanf("%d",&n)) //坑爹啊 { memset(vis,0,sizeof(vis)); printf("Case %d:\n",cnt++); a[1]=1; dfs(1); printf("\n"); } return 0;}
0 0
- HDU1016——Prime Ring Problem(dfs,输入格式)
- HDU1016—Prime ring Problem
- HDU1016-Prime Ring Problem(DFS)
- hdu1016(Prime Ring Problem)- dfs+枚举
- hdu1016 Prime Ring Problem(dfs)
- hdu1016 Prime Ring Problem(dfs)
- hdu1016 Prime Ring Problem(回溯dfs)
- hdu1016 Prime Ring Problem(dfs)
- HDU1016 Prime Ring Problem (DFS)
- HDU1016 Prime Ring Problem(dfs)
- HDU1016:Prime Ring Problem(dfs)
- ACM-DFS之Prime Ring Problem——hdu1016
- HDU1016:Prime Ring Problem(DFS)
- hdu1016 Prime Ring Problem(DFS)
- Hdu1016 Prime Ring Problem(DFS)
- HDU1016:Prime Ring Problem(DFS)
- HDU1016:Prime Ring Problem(DFS)
- HDU1016——Prime Ring Problem
- Qt中读写xml文件
- uva11478 Halum【二分+差分约束】
- genymotion登入老报unknown generic error
- 装修过程中的经典工序流程图(三)
- cocos2d-JS (二)Cocos Creater
- HDU1016——Prime Ring Problem(dfs,输入格式)
- ZOJ 2723 Semi-Prime
- (OK) pthread—epoll-loops-on-disconnection-of-a-client—server
- java虚拟机 jvm 出入java栈 栈空间内存分配
- json-lib.jar开发包及依赖包的下载地址
- 使用Hierarchy Viewer分析优化布局性能
- (OK) Linux epoll模型—socket epoll server client chat—pthread
- 事件处理(Java核心技术卷Ⅰ)
- IOS7 隐藏显示状态栏 (电池栏)