1358. 素数环-深度优先搜索-DFS

news/2024/7/20 22:15:54 标签: 深度优先, 算法

代码:

#include <bits/stdc++.h>
using namespace std;
int n, a[19], c = 0;
bool f[19];
bool prime(int n){
    if(n == 1)
        return false;
    for ( int i = 2 ; i * i <= n ; i++ )
        if(n % i == 0)
            return false;
    return true;
}
void print(){
    c++;
    cout << c << ":";
    for ( int i = 1 ; i <= n ; i++ )
        cout  << a[i]<< " ";
    cout << endl;
}
void dfs(int k){
    for ( int i = 1 ; i <= n ; i++ ){
        if( f[i] == false && (k == 1 || prime(i + a[k-1]) == true) ){
            a[k] = i;
            f[i] = true;
            if( k == n && prime(a[k] + a[1]) ) print();
            else dfs(k+1);
            f[i] = false;
        }
    }
}
int main(){
    cin >> n;
    dfs(1);
    cout << "total:" << c;
    return 0;
}


http://www.niftyadmin.cn/n/5332412.html

相关文章

Nginx 如何实现负载均衡?

Nginx 是一个高性能的 HTTP 和反向代理服务器&#xff0c;也是一个 IMAP/POP3/SMTP 代理服务器。由于其具有丰富的功能和出色的性能&#xff0c;Nginx 广泛应用于 Web 开发、负载均衡、反向代理等场景。在负载均衡方面&#xff0c;Nginx 可以实现基于轮询、IP_HASH、URL_HASH 和…

vivado导出时序报告为excel文件的方法

1、打开implementation下的report timing summary 2、选择要看的时钟右键点击report_timing 3、在新打开的timing窗口中&#xff0c;选择setup或者hold&#xff0c;选中一条路径右键&#xff0c;点击export to spreadsheet&#xff0c;此时就可以存为table.xlsx文件

Jxls 实现动态导出功能

目录 引言前端页面后端代码excel模板导出效果 引言 在实际做项目的过程中&#xff0c;导出报表时需要根据每个人所关注的点不一样&#xff0c;所需导出的字段也不一样&#xff0c;这时后端就需要根据每个所选的字段去相应的报表&#xff0c;这就是本文要讲的动态导出报表。 前端…

【C语言基础考研向】05 scanf读取标准输入超详解

文章目录 一.scanf函数的原理 样例问题原因解决方法 二.多种数据类型混合输入 错误样例正确样例 一.scanf函数的原理 C语言未提供输入/输出关键字&#xff0c;其输入和输出是通过标准函数库来实现的。C语言通过scanf函数读取键盘输入&#xff0c;键盘输入又被称为标准输入。…

经典目标检测YOLO系列(二)YOLOV2的复现(1)总体网络架构及前向推理过程

经典目标检测YOLO系列(二)YOLOV2的复现(1)总体网络架构及前向推理过程 和之前实现的YOLOv1一样&#xff0c;根据《YOLO目标检测》(ISBN:9787115627094)一书&#xff0c;在不脱离YOLOv2的大部分核心理念的前提下&#xff0c;重构一款较新的YOLOv2检测器&#xff0c;来对YOLOV2有…

NOIP2004提高组T4:虫食算

题目链接 [NOIP2004 提高组] 虫食算 题目描述 所谓虫食算&#xff0c;就是原先的算式中有一部分被虫子啃掉了&#xff0c;需要我们根据剩下的数字来判定被啃掉的数字。来看一个简单的例子&#xff1a; 43#9865#045 8468#6633 ‾ 44445509678 \begin{aligned} \verb!43#9865…

Tensorflow2.0笔记 - 基础数学运算

本笔记主要记录基于元素操作的,-,*,/,//,%,**,log,exp等运算&#xff0c;矩阵乘法运算&#xff0c;多维tensor乘法相关运算 import tensorflow as tf import numpy as nptf.__version__#element-wise运算&#xff0c;对应元素的,-,*,/,**,//,% tensor1 tf.fill([3,3], 4) ten…

LINUX基础培训十之服务管理

前言、本章学习目标 了解LINUX中的服务种类了解LINUX中常见服务的端口熟悉服务的日常管理掌握添加自定义服务 一、Linux系统服务含义及其分类 系统服务是在后台运行的应用程序&#xff0c;并且可以提供一些本地系统或网络的功能。我们把这些应用程序称作服务&#xff0c;也…