UVA524-Prime Ring Problem
来源:互联网 发布:疯狂安卓讲义源码 编辑:程序博客网 时间:2024/04/28 03:30
判断相邻两个数的和是不是素数,PS:还要判断数组第一个和最后一个。
一个典型的dfs,用vis来判断是否使用过,没有则加深,否则回溯。
#include<stdio.h>#include<algorithm>#include<string.h>#include<math.h>using namespace std;int isp[50],n;void cal(){ memset(isp,0,sizeof isp); for(int i=3;i<=31;i++) { int k=0; for(int j=2;j<=sqrt(i);j++) if(i%j==0) {k=1;break;} if(!k) isp[i]=1; }}int A[20],vis[20];void dfs(int cur){ if(cur==n&&isp[A[0]+A[n-1]]){ for(int i=0;i<n;i++) printf(i==n-1?"%d\n":"%d ",A[i]); } else for(int i=2;i<=n;i++) if(!vis[i]&&isp[i+A[cur-1]]){ A[cur]=i; vis[i]=1; dfs(cur+1); vis[i]=0; }}int main(){ int cas=1; cal(); while(scanf("%d",&n)!=EOF) { if(cas>1) puts(""); printf("Case %d:\n",cas++); for(int i=0;i<n;i++) A[i]=i+1; memset(vis,0,sizeof vis); dfs(1); } return 0;}
0 0
- UVA524- Prime Ring Problem
- UVa524 - Prime Ring Problem
- UVA524-Prime Ring Problem
- [回溯]Prime Ring Problem UVA524
- Uva524——Prime Ring Problem
- UVa524-Prime Ring Problem(DFS+素数)
- UVA524 UVALive5270 HDU1016 ZOJ1457 Prime Ring Problem
- UVa524 - Prime Ring Problem 枚举排列模板题
- UVa524 例题7-4 素数环 (Prime Ring Problem)
- Uva524 Primer Ring Problem
- 1016 Prime Ring Problem
- HDOJ1016-Prime Ring Problem
- HDU1016 Prime Ring Problem
- DFS__1195: Prime Ring Problem
- Prime Ring Problem
- 1016:Prime Ring Problem
- 1016 Prime Ring Problem
- HDUOJ1016 Prime Ring Problem
- 《Excel 2010 SQL完全应用》学习笔记之一:SQL常见函数的使用(续)
- 【Objective-C编程】深入浅出字符串NSString
- kvm配置桥接网卡
- debug调试
- centos6.6设置samba和nginx访问用户家目录
- UVA524-Prime Ring Problem
- zoj 月赛 E 费用流
- 走迷宫
- PHP配置文件详解php.ini
- NSMutableArray和NSArray
- 性能优化相关T-code
- 优化Linux下的内核TCP参数来提高服务器负载能力
- 按钮,alert,EditText
- LNK1123: 转换到 COFF 期间失败: 文件无效或损坏