uva 524 Prime Ring Problem

UVA524 素数环 Prime Ring Problem DFS 素数环 阅读详情

此题比较坑 原因是题目没说明 输出格式


//
//  main.cpp
//  uva  524 - Prime Ring Problem
//
//  Created by XD on 15/7/26.
//  Copyright (c) 2015年 XD. All rights reserved.
#include <iostream>
#include <string>
#include <queue>
#include <stack>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include<vector>
#include <string.h>
#include <string>
#include <algorithm>
#include <set>
#include <map>
#include <cstdio>
using namespace std ;
using namespace std ;


int prime[21][15] =
{
    {0} ,
    {7,2,4,6,10,12,16,18,21},
    
    {7,1,3,5,9,11,15,17,21},
    
    {6,2,4,8,10,14,16,21},
    
    {6,1,3,7,9,13,15,19,21},
    
    {5,2,6,8,12,14,18,21},
    
    {5,1,5,7,11,13,17,21},
    
    {4,4,6,10,12,16,21},
    
    {4,3,5,9,11,15,21},
    
    {4,2,4,8,10,14,21},
    
    {4,1,3,7,9,13,19,21},
    
    {3,2,6,8,12,18,21},
    
    {3,1,5,7,11,17,19,21},
    
    {2,4,6,10,16,18,21},
    
    {2,3,5,9,15,17,21},
    
    {2,2,4,8,14,16,21},
    
    {2,1,3,7,13,15,21},
    
    {1,2,6,12,14,21},
    
    {1,1,5,11,13,19,21},
    
    {0,4,10,12,18,21},
    {0,3,7,9,11,21}
} ;

int visit[21] ;
int circle[21] ;
int  n ;
void dfs(int i) ;



int main() {
    int i = 1;
    int flag = 0 ;
    while (scanf("%d" ,&n) == 1) {
        circle[1] = 1 ;
        memset(visit, 0, sizeof(visit)) ;
        visit[1] = 1 ;
        if (flag) {
            printf("\n") ;
        }
        flag = 1 ;
        printf("Case %d:\n" ,i) ;
        if (n > 1) {
            dfs(1) ;
        }
        else
        {
            printf("1\n") ;
        }
        i++ ;
        
        
    }
    return 0;
}


void dfs(int i)
{
    int j ;
    if (i == n ) {
        if (1 + circle[n] == 3 || 1 + circle[n] == 5 || 1 + circle[n] == 7 || 1 + circle[n] == 11 || 1 + circle[n] == 13 || 1 + circle[n] == 17 || 1 + circle[n] == 19||1 + circle[n] == 23||1 + circle[n] == 31||1 + circle[n] == 29||1 + circle[n] == 37)
        {
            for ( j = 1; j < n ; j++) {
                printf("%d ",circle[j]) ;
            }
            printf("%d\n" ,circle[j]) ;
        }
        return ;
    }
    int t = prime[circle[i]][1] ;
    for (j = 1; t <= n ; j++) {
        if (visit[prime[circle[i]][j]] == 0) {
            circle[i+1] = t ;
            visit[t] = 1 ;
            dfs(i+1) ;
            visit[t] = 0 ;
        }
        t = prime[circle[i]][j+1] ;
    }
}


RWEQ土壤风蚀模型的估算与变化归因分析 本次以介绍RWEQ模型的基本原理及数据需求,再结合案例讲解RWEQ模型中区域地理空间数据库构建的方法和各个参量提取的原理与方法,最后结合典型案例进行综合讲解风蚀模数估算、制图及归因分析。空间分析与制图:提取分析、局部分析、邻域分析、区域分析、插值分析、平滑处理、像元提取、采样与重采样。以某实际应用为案例,掌握RWEQ模型进行当地土壤风蚀量空间分布分析整体流程。地图服务器、在线地图、范围指示器、格网、表格、基础地图服务使用规则介绍。掌握土壤风蚀模型的原理、优势点及因子组成。 阅读详情

相关推荐

2021秋-北邮计算机导论期末考试(BUPT)

2021秋-北邮计算机导论期末考试(BUPT) 难度较低适合新手练习

weixin_73985779的博客 1496

例题7-4 UVA524 Prime Ring Problem(28行AC代码)

紫书刷题进行中,题解系列【GitHub|优快云】 例题7-4 UVA524 Prime Ring Problem(28行AC代码) 题目大意 给定n个数,标号为1,2,3,…,n,问n个数能否构成这样一个环:任意两个相邻数和为素数 思路分析 本质是求2~n的全排列,在构造过程中利用相邻和为素数进行剪枝 因为n最大为16,两数之和最大为31,因此可手动写出2~31的素数,便于查询 AC代码(C++...

努力做个书呆儿 244

HFSS仿真的后处理结果,如何根据天线表面的电流密度分布对天线进行优化?

在HFSS仿真中,天线表面的Jsurf​是最直观、最有价值的诊断工具之一。它不仅告诉你天线“能不能工作”,还能告诉你“为什么工作”以及“哪里出了问题”。

degogmy的博客 1156

UVA - 524 Prime Ring Problem

题目链接: UVA - 524 Prime Ring Problem Description(素数环) A ring is composed of n (even number) circles as shown in diagram. Put natural numbers 1,2,…,n1, 2, \dots, n into each circle separately, and the

Dextrad_ihacker的博客 791

告别色差!用Python+TCS34725颜色传感器实现精准色彩还原(附完整校准代码)

本文详细介绍了如何利用Python和TCS34725颜色传感器实现专业级色彩还原方案。通过双阶校准法(白光校准和黑电平校准)和进阶的光照自适应技术,解决传感器原始数据不准的问题,并提供完整的校准代码和实战案例,帮助开发者实现ΔE<3的高精度色彩识别。

weixin_30836759的博客 209

Vivado加上VsCode让你的生活更美好

VsCode与Vivado的灵活使用 引言 ​ 现在大二了,在接触硬件描述语言。Vivado自带的编辑器实在很难用,为了能够“极客”一些,当然是去Google了一下有哪些方法可以取而代之。 ​ 网络上的答案大同小异,基本上都是用的Sublime Text.(我的学长们也几乎都是) 平时码代码的过程中,我习惯与使用VsCode,尤其是在微软收购GitHub之后,Code 简直就是神器了。于是乎…一个...

qq_39498701的博客 10万+

UVa 524 Prime Ring Problem(素数环)

题目链接:UVa 524 题意: 输入正整数n,把正整数1~n组成一个环,使得相邻两个整数之和均为素数。输出时从整数1开始逆时针排列。同一个环应恰好输出一次。n 分析: 简单BFS. 注意: 两测试案例之间有一行空格,输出数据之间有空格,行末无空格 CODE: #include #include #include #include #include #incl

ramay7 723

H3C设备VRF配置实战:5步搞定多业务网络隔离(附排错技巧)

本文详细介绍了在H3C设备上配置VRF(虚拟路由转发)实现多业务网络隔离的实战方法。通过五步配置流程,从创建VPN-instance、绑定接口到配置独立路由表,帮助网络工程师在单台设备上构建逻辑隔离的企业级网络,并分享了高级路由配置与常见排错技巧。

gold8的专栏 936

UVa 524 Prime Ring Problem

本文解决素数环问题:将1到n的偶数个整数排成环,使相邻数之和为素数。首数固定为1,需输出所有满足条件的排列。采用回溯算法,预先生成素数表进行剪枝优化。算法从位置0开始,依次填入未使用的数字,确保相邻和及首尾和为素数。代码实现中,使用深度优先搜索回溯,按字典序输出结果。对于n≤16的数据规模,通过素数约束有效降低搜索空间复杂度。

寂静山林 196

基于Matlab的磁力计校准(附源码)

磁力计沿传感器的 X、Y 和 Z 轴检测磁场强度。精确的磁场测量对于传感器融合以及确定航向和方向至关重要。为了用于航向和方向计算,需要校准典型的低成本MEMS磁力计,以补偿环境噪声和制造缺陷。一、理想磁力计理想的三轴磁力计沿正交 X、Y 和 Z 轴测量磁场强度。在没有任何磁干扰的情况下,磁力计读数测量地球磁场。如果在传感器通过所有可能的方向旋转时进行磁力计测量,则测量值应位于球体上。球体的半径是磁场强度。要生成磁场样本,请使用对象。出于这些目的,可以安全地假设每个方向的角速度和加速度为零。

珞瑜的博客 4518

elevation mapping算法3之使用D435i相机离线或在线订阅点云和tf关系生成高程图

本文主要学习使用D435i相机发出的点云作为高程图的点云输入,如何离线输入点云生成高程图,进一步学习如何在线订阅点云生成高程图。

重点记录机器人和自动驾驶相关领域的技术,尤其是计算机视觉,视觉SLAM等,不仅有前言文献或必备算法的学习,也会有实际应用的点滴经验 3488

Prime Ring Problem uva 524

回溯法的应用 # include<iostream> # include<cstring> using namespace std; const int maxn=100+5; bool isprim[maxn]; int a[maxn]; int n; bool vis[maxn]; bool prim(int i) { for(int j=2;j<i;j++...

艾克 248

汇川Easy系列斜坡函数功能块(支持状态输出)

IN rSetValue REAL 0.000000 0.000000 不保持 目标值 1IN rMaxValue REAL 0.000000 0.000000 不保持 最大目标值 2IN rMinValue REAL 0.000000 0.000000 不保持 最小目标值 3IN rSmoothTime REAL 100.000000 100.0000 不保持 最小到最大值平滑时间 单位 秒 4IN diTs DINT 10 10 不保持 函数调用周期采样时间中断时间 5。

RXXW_Dor的博客 455

Prime Ring Problem UVA - 524

题目连接 :https://vj.ti12z.cn/fd5e336dbfda2775780486ea45633879?v=1557301401 #include<iostream> #include<cstring> #include<cmath> using namespace std; const int MAX = 1005 ; bool isp...

森宝的博客 369

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Prime Ring Problem UVA - 524(回溯)

打印所有素数环,数值都是1-n。回溯算法,素数筛。先打表。然后dfs:先看看两数只和是不是素数(查表),然后再往下递归,另外已经用过的数字不能出现第二次,用布尔数组下标当做数,布尔值来表示能不能访问。递归完之后别忘了还原之前的数值。

Crushlikearush的博客 177

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

UVa 524 素数环(Prime Ring Problem)

输入正整数n, 把整数1,2,3,……,n组成一个环,使得相邻两个整数之和均为素数。输出时从1开始逆时针排列,同一个环应该只输出一个。 样例输入: 6 样例输出: 1 4 3 2 5 6 1 6 5 2 3 4 因为输入的n不超过16 因此素数的大小应该不会超过 16 + 15 = 31 设置一个素数数组,避免屡次判断超时。 设置一个vis数组,因为素数环每个数字只出现一次,因此用一个 vis数组...

Inuyasha__的博客 347

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

UVA - 524 Prime Ring Problem

Prime Ring Problem  A ring is composed of n (even number) circles as shown in diagram. Put natural numbers  into each circle separately, and the sum of numbers in two adjacent circles s

爆米 745

UVa 524 - Prime Ring Problem(回溯)

回溯法的简单应用。

ZmiL_ 1371

uva 524 Prime Ring Problem

1 #include #include #include using namespace std; int n,a[25]; int vis[25]; bool is_prime(int x) { for(int i=2;i*i<=x;i++) { if(x%i==0) return false; } return true; } void dfs

qq_33901573的博客 314

【UVa】524 - Prime Ring Problem

Problem hereProblemA ring is composed of n (even number) circles as shown in diagram. Put natural numbers 1, 2, … , n into each circle separately, and the sum of numbers in two adjacent circles shoul

Blog 704

Prime Ring Problem UVA - 524 回溯

A ring is composed of n (even number) circles as shown in diagram.Put natural numbers 1, 2, . . . , n into each circle separately, and thesum of numbers in two adjacent circles should be a prime.Note:...

lesfhappy的博客 227
上一篇: uva 10976 Fractions Again?!
下一篇: uva 129 - Krypton Factor
LuckyqXd
博客等级 码龄12年 2粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值