noj算法 素数环 回溯法
描述:
把1到20这重新排列,使得排列后的序列A满足:
a. 任意相邻两个数之和是素数
b. 不存在满足条件a的序列B使得:A和B的前k(0 <= k <= 19)项相同且B的第k+1项比A的第k+1项小。(即按字典序排列的第一项)
输入:
没有输入。
输出:
输出A,两个数字之间用一个空格隔开,第一个数字前面和最后一个数字后面没有空格。
题解:
只打印字典序最小的一项即可。逐个数判断能否与我们放好的前一个数相加为素数,若不是素数,则回溯;若是,继续搜索。找到满足条件的第一个解即可。
代码:
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <math.h> using namespace std;
int num[];
bool used[];
int couse=; bool check(int x,int y)
{
int k=,i=x+y;
while(k<=sqrt(i)&&i%k!=) k++;
if(k>sqrt(i)) return true;
return false;
} void print()
{
printf("%d",num[]);
for(int i=;i<=;i++)
printf(" %d",num[i]);
printf("\n");
} void Search(int x)
{
for(int i=;i<=;i++)
{
if(!used[i]&&check(num[x-],i)&&couse==)
{
num[x]=i;
used[i]=true;
if(x==&&check(num[],num[])&&couse==)
{print();couse++;return ;}
Search(x+);
used[i]=false;
}
}
} int main()
{
Search();
return ;
}
noj算法 素数环 回溯法的更多相关文章
- noj算法 堡垒问题 回溯法
描述: 城堡是一个4×4的方格,为了保卫城堡,现需要在某些格子里修建一些堡垒.城堡中的某些格子是墙,其余格子都是空格,堡垒只能建在空格里,每个堡垒都可以向上下左右四个方向射击,如果两个堡垒在同一行或同 ...
- noj算法 迷宫问题 回溯法
描述: 给一个20×20的迷宫.起点坐标和终点坐标,问从起点是否能到达终点. 输入: 多个测例.输入的第一行是一个整数n,表示测例的个数.接下来是n个测例,每个测例占21行,第一行四个整数x1,y1, ...
- noj算法 踩气球 回溯法
描述: 六一儿童节,小朋友们做踩气球游戏,气球的编号是1-100,两位小朋友各踩了一些气球,要求他们报出自己所踩气球的编号的乘积.现在需要你编一个程序来判断他们的胜负,判断的规则是这样的:如果两人都说 ...
- noj算法 装载问题 回溯法
描述: 有两艘船,载重量分别是c1. c2,n个集装箱,重量是wi (i=1…n),且所有集装箱的总重量不超过c1+c2.确定是否有可能将所有集装箱全部装入两艘船. 输入: 多个测例,每个测例的输入占 ...
- 五大常用算法之四:回溯法[zz]
http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741376.html 1.概念 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试 ...
- 算法java实现--回溯法--图的m着色问题
(转自:http://blog.csdn.net/lican19911221/article/details/26264471) 图的m着色问题的Java实现(回溯法) 具体问题描述以及C/C++实现 ...
- 回溯法最优装载问题(java)
1.问题描述: 有一批共有 n 个集装箱要装上两艘载重量分别为 c1 和 c2 的轮船,其中集装箱 i 的重量为 w[i], 且重量之和小于(c1 + c2).装载问题要求确定是否存在一个合 ...
- UVA - 524 Prime Ring Problem(素数环)(回溯法)
题意:输入n,把1~n组成个环,相邻两个数之和为素数. 分析:回溯法. #pragma comment(linker, "/STACK:102400000, 102400000") ...
- 素数环 南阳acm488(回溯法)
素数环 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 有一个整数n,把从1到n的数字无重复的排列成环,且使每相邻两个数(包括首尾)的和都为素数,称为素数环. 为了简 ...
随机推荐
- 简单的JQuery完美拖拽
首先导入jq库,最好是1.0版本的.调用函数时,传入要拖拽元素的id值. function drag(sel){ $div = $("#"+sel); $div.mousedown ...
- 【zabbix教程系列】二、zabbix特点
一.度量收集 从任何设备,系统,应用上收集指标,收集指标的方法有: 多平台zabbix代理 SNMP and IPMI 代理 无代理监控用户服务 自定义方法 计算和聚合 用户端web监控 二.问题发 ...
- RCNN算法的tensorflow实现
RCNN算法的tensorflow实现 转载自:https://blog.csdn.net/MyJournal/article/details/77841348?locationNum=9&f ...
- Insert Into select 与 Select Into 哪个更快?
在平常数据库操作的时候,我们有时候会遇到表之间数据复制的情况,可能会用到INSERT INTO SELECT 或者 SELECT INTO : 那么二者语法上有什么区别?性能上又如何呢? 围绕着这两个 ...
- GOOGLE RANKBRAIN 完整指南
[译]GOOGLE RANKBRAIN 完整指南 ( 2018 最新版 ) 2018.01.29 来源 http://www.zhidaow.com/post/google-rankbrain ...
- FastDFS分布式文件系统客户端安装
软件安装前提:服务器已配置好LNMP环境安装libfastcommon见FastDFS服务器安装文档(http://www.cnblogs.com/Mrhuangrui/p/8316481.html) ...
- Luogu_1944 最长括号匹配
题目链接 动态规划的方式: 1. 上一个括号或者上一段合法序列的前一个括号和当前位置形成 (A),[A] 型合法序列: 2. 该位置所在的当前合法序列和之前的某一段与其相邻的序列组成 AB 型合法序列 ...
- vue---slot,slot-scoped,以及2.6版本之后插槽的用法
slot 插槽 ,是用在组件中,向组件分发内容.它的内容可以包含任何模板代码,包括HTML. vue 在 2.6.0 中,具名插槽和作用域插槽引入了一个新的统一的语法 (即 v-slot 指令).它取 ...
- 结合别人的文章,做RocketMQ的一点原理分析,结合源码(尽量)----未完待续
Broker 与Namesrv的关系 1.从namesrv获取配置信息 /** * BrokerConfig类 * * broker每隔30秒(此时间无法更改)向所有nameserver发送心跳,心跳 ...
- SpringBoot项目@RestController使用 redirect 重定向无效
Spring MVC项目中页面重定向一般使用return "redirect:/other/controller/";即可. 而Spring Boot当我们使用了@RestCont ...