hdu-1016素数环
这个题就是给出一个数字n,表示有n个数。编号为1~n。
然后要求我们将这n个数连起来变成一个环,要求随意两个数相加所得值必须为素数。
假设满足条件就将这个环输出来!
这个题:dfs+回溯+推断。然后注意先是将值放到一条线上,
假设头尾相加和也为素数,则能够连成环,然后就能够输出了!
代码例如以下:
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int n,a[22];
bool vis[22];
bool judge(int ns)
{
if(ns==1)
return false;
if(ns==2||ns==3)
return true;
for(int i=2; i<=ns/2; i++)
if(ns%i==0)
return false;
return true;
}
void dfs(int num)
{
if(num==n)
{
if(judge(a[0]+a[n-1]))
{
for(int i=0;i<n;++i)
printf("%d%c",a[i],i==n-1? '\n':' ');
return ;
}
}
else
{
for(int i=2;i<=n;i++)
{
if(judge(a[num-1]+i)&&!vis[i])
{
a[num]=i;
vis[i]=true;
dfs(num+1);
vis[i]=false;
}
}
}
}
int main()
{
int ji=1;
while(cin>>n)
{
memset(vis,false,sizeof(vis));
memset(a,0,sizeof(a));
cout<<"Case "<<ji++<<":"<<endl;
a[0]=1;//以一为起点。 vis[1]=true;
dfs(1);
cout<<endl;
}
return 0;
}
hdu-1016素数环的更多相关文章
- HDU 1016 素数环(dfs + 回溯)
嗯... 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1016 一道很典型的dfs+回溯: 根据题意首先进行初始化,即第一个位置为1,然后进行dfs, ...
- HDU - 1016 Prime Ring Problem 经典素数环
Prime Ring Problem A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., ...
- [HDU 1016]--Prime Ring Problem(回溯)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1016 Prime Ring Problem Time Limit: 4000/2000 MS (Jav ...
- HDOJ(HDU).1016 Prime Ring Problem (DFS)
HDOJ(HDU).1016 Prime Ring Problem (DFS) [从零开始DFS(3)] 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架 ...
- hdu 1016 Prime Ring Problem(DFS)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- one recursive approach for 3, hdu 1016 (with an improved version) , permutations, N-Queens puzzle 分类: hdoj 2015-07-19 16:49 86人阅读 评论(0) 收藏
one recursive approach to solve hdu 1016, list all permutations, solve N-Queens puzzle. reference: t ...
- hdu 1016
这是一道考搜索的题目.这道题我用深搜解决了,不过说实话自己对于深搜理解得并不深刻,在这里对于这一题总结一下. 这道题输入为一个实数n,要求输出有1~n这n个数所组成的所有素数环(这是素数环),素数环的 ...
- HDU 1016 Prime Ring Problem(经典DFS+回溯)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- nyoj 488 素数环
素数环 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 有一个整数n,把从1到n的数字无重复的排列成环,且使每相邻两个数(包括首尾)的和都为素数,称为素数环. 为了简 ...
- nyoj 素数环
算法:搜索 描述 有一个整数n,把从1到n的数字无重复的排列成环,且使每相邻两个数(包括首尾)的和都为素数,称为素数环. 为了简便起见,我们规定每个素数环都从1开始.例如,下图就是6的一个素数环. 输 ...
随机推荐
- perl 当前包会覆盖父类的同名方法
12.5.2 访问被覆盖的方法: 当一个类定义一个方法,那么该子过程覆盖任意基类中同名的方法. [root@wx03 test]# cat Horse.pm package Horse; our @I ...
- 基于visual Studio2013解决面试题之1309求子集
题目
- 谁知道哪有比较好的Beijing Milonga?想去参加这样的阿根廷探戈舞会~
谁知道哪有比较好的Beijing Milonga?想去参加这样的阿根廷探戈舞会~_百度知道 谁知道哪有比较好的Beijing Milonga?想去参加这样的阿根廷探戈舞会~ 2009-1 ...
- 安全威胁无孔不入:基于Linux系统的病毒(转)
虽然在Linux里传播的病毒不多,但也是存在一些.我从一些安全网站搜集了一些资料. 1.病毒名称: Linux.Slapper.Worm 类别: 蠕虫 病毒资料: 感染系统:Linux 不受影响系统: ...
- 3.跟我学solr---使用solrj加入索引
上一章讲了怎么使用solr admin向solrserver加入索引,Solr 是一个独立的企业级搜索应用server.它对外提供类似于 Web-service 的 API 接口. 用户能够通过 ht ...
- ASP.NET - Eval使用自定义的方法
<asp:Repeater ID="rep_allnews" runat="server"> <ItemTemplate> <tr ...
- 译文:前端性能的重要性 The Importance of Frontend Performance
欢迎訪问我的主页.最新的文章我会首先公布在个人主页上: http://blog.guaidm.com/shocky/ 原书下载地址:http://pan.baidu.com/s/1pJocRwB 在我 ...
- Net Core-Razor
几行代码解决Razor中的嵌套if语句 MVC开发中,经常会遇到在razor中插入简单的逻辑判断. @if (clientManager.IsAdmin) { if (!Model.Topic.Top ...
- Servlet过滤器——过滤器分析流量
1.概述 Servlet过滤器可以对用户提交的数据或服务器返回的数据进行更改.任何到达服务器的请求都会首先经过过滤器的处理.本实例应用过滤器的这个特点,编写了一个在过滤器中统计网站流量的实例. 本实例 ...
- 深入学习微框架:Spring Boot
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过 ...