原题链接

题意:很容易理解,就是让你输出满足相邻的相加是素数的序列(注意不要重复)

思路就是深搜思想把每种情况遍历一次

代码实现:

#include<iostream>
#include<cstring>
using namespace std;
//素数打表标记每个素数,因为n最大是20,所以只要打到40
bool prime[40] = { 0,1,1,1,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0 };
int f[21], n;
bool book[21];
void dfs(int num) {
if (n == num && prime[f[num - 1] + f[0]]) {
for (int i = 0; i < num - 1; ++i)
printf("%d ", f[i]);
cout << f[num - 1] << endl;
}
else {
for (int i = 2; i <= n; ++i) {
if (!book[i] && prime[i + f[num - 1]]) {
book[i] = true;
f[num++] = i;
dfs(num);
book[i] = 0;
--num;
}
}
}
}
int main() {
int num = 0;
while (scanf("%d", &n) != EOF)
{
num++;
printf("Case %d:\n", num);
memset(book, 0, sizeof(book));
f[0] = 1;
dfs(1);
printf("\n");
} return 0;
}

#1016:Prime Ring Problem(经典DFS)的更多相关文章

  1. HDU - 1016 Prime Ring Problem 经典素数环

    Prime Ring Problem A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., ...

  2. hdu 1016 Prime Ring Problem(dfs)

    Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  3. hdoj - 1258 Sum It Up && hdoj - 1016 Prime Ring Problem (简单dfs)

    http://acm.hdu.edu.cn/showproblem.php?pid=1258 关键点就是一次递归里面一样的数字只能选一次. #include <cstdio> #inclu ...

  4. hdu 1016 Prime Ring Problem (dfs)

    一切见凝视. #include <cstdio> #include <iostream> #include <cstring> #include <algor ...

  5. HDOJ(HDU).1016 Prime Ring Problem (DFS)

    HDOJ(HDU).1016 Prime Ring Problem (DFS) [从零开始DFS(3)] 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架 ...

  6. HDU 1016 Prime Ring Problem(素数环问题)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1016 Prime Ring Problem Time Limit: 4000/2000 MS (Jav ...

  7. [HDU 1016]--Prime Ring Problem(回溯)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1016 Prime Ring Problem Time Limit: 4000/2000 MS (Jav ...

  8. HDU 1016 Prime Ring Problem(经典DFS+回溯)

    Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  9. Hdu 1016 Prime Ring Problem (素数环经典dfs)

    Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  10. HDU 1016 Prime Ring Problem (DFS)

    Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

随机推荐

  1. Leetcode回文数

    直接上python代码 class Solution: def isPalindrome(self, x: int) -> bool: if x<0: //负数必不是回文数 return ...

  2. 校园社团活动管理系统(适合小白)基础javaweb前端项目实战【包含增删改查,mysql】一

    校园社团活动管理系统(20分) 1.项目需求: 校园社团作为高校课外活动的重要组成部分,发展十分迅速,也受到越来越多学生的欢迎,社团规模.数量等都在日益增长,社团活动也更为多样和丰富.然而,大多数高校 ...

  3. 利用Jdk动态代理模拟MyBatis的Mapper功能

    本文将先介绍jdk动态代理的基本用法,并对其原理和注意事项予以说明.之后将以两个最常见的应用场景为例,进行代码实操.这两个应用场景分别是拦截器和声明性接口,它们在许多开发框架中广泛使用.比如在spri ...

  4. SpringCore完整学习教程6,入门级别

    本章从第7章开始: 7. Task Execution and Scheduling 在上下文中没有Executor bean的情况下,Spring Boot会自动配置一个ThreadPoolTask ...

  5. [GDOI22pj1A] 邹忌讽秦王纳谏

    时间空间限制: 1 秒, 256 MB 齐国人邹忌对齐国国君齐威王说,大王身边的人会因为私情.利益等原因而对大王阿谀奉承,所以不能光听好话,只有广泛接受群众的批评意见,才不会被蒙蔽双眼,齐国才能强盛. ...

  6. [ABC262F] Erase and Rotate

    Problem Statement You are given a sequence $P = (p_1,p_2,\ldots,p_N)$ that contains $1,2,\ldots,N$ e ...

  7. C++ Qt开发:TreeWidget 树形选择组件

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍TreeWid ...

  8. MES系统怎么实现车间管理中的生产计划和排产计划

    生产计划和排产计划都是制造企业中非常重要的概念,它们的目的是为了确保企业能够按时交付高质量的产品,同时还要保持生产效率和成本效益. 一.生产计划 生产计划是指制造企业为了满足客户需求而制定的计划,它包 ...

  9. java,ArrayList类

    ArrayList 是一个数组列表,可以将多个对象放入数组中,是一个长度可变的集合,提供了增删改查的功能. public class Test2 { public static void main(S ...

  10. selenium之鼠标键盘操作

    鼠标操作 1.引入ActionChains类 2.定位相关元素 3.在ActionChains().调用相关鼠标操作方法 from selenium.webdriver.common.action_c ...