1264: 素数环

时间限制: 1 Sec  内存限制: 128 MB
提交: 29  解决: 8
[提交][状态][讨论版]

题目描述

有一个长度为n的环形序列由1,2,3,...,n组成,环中相邻两个整数和均为素数。你需要找到所有满足条件的环。

输入

输入n表示环的长度(n<=16)

输出

输出从整数1开始的逆时针排列的所有环。

样例输入

6

样例输出

1 4 3 2 5 6
1 6 5 2 3 4

提示

来源

西安交通大学复试机试题

[提交][状态]

#include<stdio.h>
#include<string.h>//20以内的数最大和40
int prime[40]={1,1,0,0,1,0,1,0,1,1,1,0,1,0,1,1,1,0,1,0,1,1,1,0,1,1,1,1,1,0,1,0,1,1,01,1,1,0,1,1};
int visit[21];
int ring[21];/*
void Is_prime()
{int i,j;prime[0]=prime[1]=1;for(i=2;i<=6;++i)for(j=i*i;j<40;j+=i)prime[j]=1;
}
*/
void DFS(int k,int n)
{int i;if(k==n+1&&prime[ring[n]+ring[1]]==0){//printf("1");for(i=1;i<=n;++i)printf("%d ",ring[i]);//不处理格式问题printf("\n");return;}for(i=1;i<=n;++i){if(!visit[i]&&!prime[i+ring[k-1]]){visit[i]=1;ring[k]=i;DFS(k+1,n);visit[i]=0;//还原!! 很重要!!!
        }}
}int main()
{int T,n;T=1;
//    Is_prime();while(scanf("%d",&n)!=EOF){//printf("Case %d:\n",T++);if(n==1){printf("1 \n");continue;}if(n&1){//printf("No Answer\n");continue;}memset(visit,0,sizeof(visit));visit[1]=ring[1]=1;DFS(2,n);}return 0;
}

转载于:https://www.cnblogs.com/xiaoyunoo/p/6514702.html

素数环问题---深度搜索遍历相关推荐

  1. 【数据结构】无向图的遍历(广度搜索和深度搜索)

    说明 以邻接表作为存储结构 以用户指定的结点分别进行广度搜索和深度搜索 相应的生成树的边集 运行截图 源代码 import java.util.*;public class AdjacencyList ...

  2. DFS(深度搜索)无向图遍历(JAVA手把手深入解析)

    DFS(深度搜索)无向图遍历(JAVA手把手深入解析) 目录 DFS(深度搜索)无向图遍历(JAVA手把手深入解析) 前言 DFS深度优先 无向图 DFS全局变量定义 1.节点 2.节点数 3.根据图 ...

  3. 数据结构(廿五) -- C语言版 -- 图 - 图的遍历 -- 邻接矩阵 - 深度/广度优先遍历/搜索(DFS、BFS)

    内容预览 零.读前说明 一.概 述 二.深度优先遍历(DFS) 2.1.无向图的遍历过程 2.2.有向图的遍历过程 2.3.总结说明 2.4.实现源代码 三.广度优先遍历(BFS) 3.1.广度优先的 ...

  4. 数据结构(廿六) -- C语言版 -- 图 - 图的遍历 -- 邻接表 - 深度/广度优先遍历/搜索(DFS、BFS)

    内容预览 零.读前说明 一.深度优先遍历 1.1.深度优先的遍历过程 1.2.深度优先的遍历实现代码 二.广度优先遍历 2.1.广度优先的遍历过程 2.2.广度优先的遍历实现代码 三.源码测试效果 3 ...

  5. 深度搜索(DFS),一种用于遍历和搜索的算法

    先上百度对深度搜索的定义: 如果上边的定义没有理解,那么可以这样认为:深度搜索就是一种试探性的算法,例如你在一个十字路口想要去到某地,但是你又不认识具体的路(并且你不善言辞,万事不求人),那么你只能先 ...

  6. 素数环问题 DFS

    素数环问题 将从1到n这n个整数围成一个圆环, 若其中任意2个相邻的数字相加,结果均为素数,那么这个环就成为素数环. 现要求输入一个n,求n个数围成一圈有多少种素数环, 规定第一个数字是1.写出相应的 ...

  7. 搜索算法——深度搜索

    前言:对于同一道题目,深度搜索和广度搜索有时都能用,深度搜索也与回溯有无法分割的联系,所以是有一些题目会有交叉,我这里只是一个大致的分类.学习资源:力扣.代码随想录.<LeetCode 101 ...

  8. 广度搜索与深度搜索的区别

    广度搜索(Breadth-First Search,BFS)是一种基于图的遍历算法,它按照广度优先的方式遍历图中的所有节点.具体来说,该算法从起点开始向外扩展,先遍历起点所有直接相邻的节点,然后再遍历 ...

  9. java编程实现素数环_回溯法解决素数环

    #include #include using namespace std;#define N 100000int isp[2 * N];int a[N];int visited[N];int is_ ...

最新文章

  1. java中怎样克隆,如何在Java中克隆列表?
  2. pynvml 多gpu不能显示
  3. 使用协同过滤进行众包服务的工人工作自动化推荐
  4. python字符串是用双引号括起来的_用python连接字符串列表并用引号将每个字符串括起来...
  5. 【转】刨根究底字符编码之九——字符编码方案的演变与字节序
  6. 菜鸟学习笔记:Java提升篇3(容器3——泛型、排序)
  7. ajax后台如何把对象转为json_SM后台数据与前端(PC、M站、Android、IOS)的交互——页面渲染...
  8. leetcode978. Longest Turbulent Subarray
  9. 掘金翻译计划 GitHub Star 破3千--终于等到你
  10. Windows PE 背景知识
  11. 自定义binder架构的 client/ server组件
  12. usb环境Linux,Linux环境下USB的原理、驱动和配置
  13. Java 并发编程的艺术
  14. SpringBoot --- 整合Elasticsearch
  15. 批量重命名图片去掉烦人的括号
  16. SIM卡APN选择说明
  17. BUUCTF 从娃娃抓起
  18. Windows环境黑客入侵应急与排查
  19. 抖音全球购安心购服务规范|四川鹰迪
  20. 精力管理--分享感悟

热门文章

  1. vc++学习篇(三)——预处理命令之条件编译(#ifdef,#else,#endif,#if等)
  2. OpenCV+python:分水岭算法
  3. 基于深度学习的口罩识别与检测PyTorch实现
  4. usaco Prime Palindromes
  5. Linux终端运行fasterrcnn,对yolo与fasterrcnn anchors的理解
  6. python时间序列动图_手把手教你用Python进行时间序列分解和预测
  7. android 5.0 9300,三星Android5.0升级名单曝光 S2止步4.2
  8. php 访问类成员,PHP类成员的访问方式和权限_PHP教程
  9. sketch如何做设计稿交互_当屏幕可以折叠,交互设计怎么做
  10. Linux镜像USB转网口驱动模块配置