HDU 1016 Prime Ring Problem
2015-10-24 00:24
375 查看
分析:给你n个球序号分别为1,2....n,让你排成一个环,使得任意相邻2个球的序号和为素数,输出所有满足条件的序列,1是开头,按字典序输出。这题可以看做是n个顶点,任意两个顶点之间有一条无向边,遍历所有顶点,使得遍历的结果围成一个圈,任意2个相邻的点的和为素数,然后用DFS遍历图。
# include <stdio.h> # include <string.h> int n,top,s[35],visit[25],stack[25]; void DFS(int a) { int i,j; for(i=2;i<=n;i++) if(!visit[i]&&s[i+stack[top]]==1) { stack[++top]=i; visit[i]=1; if(top==n-1&&s[i+1]==1) { for(j=0;j<top;j++) printf("%d ",stack[j]); printf("%d\n",stack[j]); } else DFS(i); top--; visit[i]=0; } } int main() { int i,j,t=1; memset(s,0,sizeof(s)); s[2]=s[3]=s[5]=s[7]=s[11]=s[13]=s[17]=s[19]=s[23]=s[29]=s[31]=1; while(scanf("%d",&n)!=EOF) { printf("Case %d:\n",t++); if(n&1) {printf("\n");continue;} memset(visit,0,sizeof(visit)); visit[1]=1; top=-1; stack[++top]=1; DFS(1); printf("\n"); } }
相关文章推荐
- java基本类介绍
- JavaScript之 ------ 文档对象模型(DOM)
- JavaScript RegExp 对象
- 2015秋季校园招聘小记+公历2015年小记
- 与其他.Net异步模式和类型进行互操作
- Java进制转换, 数据类型, 运算符
- HDU 5023 A Corrupt Mayor's Performance Art (计算几何、血坑)
- $1...$9 属性 (RegExp) (JavaScript)
- Agri-Net(最小生成树,直接套模板)
- Mac下通过 brew 安装不同版本的php
- response.sendRedirect()与request.getRequestDispatcher().forward(request,response)比较
- PowerDesigner模型
- 代理模式
- MYSQL命令
- Android app实现重启、关机功能
- Android-获取系统的应用程序的信息
- 基于arm9的linux3.0内核移植
- 添加附件的应用<file>
- KMP算法总结
- Spring(FirstDay)