hdu 1016 Prime Ring Problem (dfs)
一切见凝视。
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm> using namespace std; bool vis[22];
int n;
int ans[22];
int top; bool isprime(int x)//推断素数
{
for(int i=2;i<x;i++)
if(x%i==0)return false;
return true;
} void dfs(int pos)
{
if(pos==n)//假设已经把环填满 也就是全部的数和前一个数的和是素数
{//那么我们就推断最后一个数和第一个数的和是不是素数
if(isprime(ans[n-1]+1))//假设是 输出方案
{
for(int i=0;i<n;i++)
printf("%d%c",ans[i],i==n-1? '\n':' ');
}
return ;//假设不是 返回
} for(int i=1;i<=n;i++)//枚举这个位置放的数
{
if(vis[i])continue;//假设这个数已经放过
if(!isprime(i+ans[pos-1]))continue;//假设你要尝试增加的这个数和上一个数的和不是素数 就不加进去
vis[i]=true;//假设以上条件都不符合 那么就能够增加到这个位置 标记为已经放入
ans[pos]=i;//放入方案中
dfs(pos+1);//递归下一次 去下一个位置尝试放数
vis[i]=false;//把这个数拿出来 尝试第二种方案
}
} int main()
{
int CASE=1;
while(scanf("%d",&n)!=EOF)
{
top=0;
ans[0]=1;//把 1 放入第一个位置
vis[1]=true;//把 1 标记为已经放入环中
printf("Case %d:\n",CASE++);//输出CASE
dfs(1);//进入递归
puts("");//输出换行
}
return 0;
}
hdu 1016 Prime Ring Problem (dfs)的更多相关文章
- hdu 1016 Prime Ring Problem(dfs)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- hdu 1016 Prime Ring Problem(DFS)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- HDU 1016 Prime Ring Problem(素数环问题)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1016 Prime Ring Problem Time Limit: 4000/2000 MS (Jav ...
- HDU 1016 Prime Ring Problem(经典DFS+回溯)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- hdu 1016 Prime Ring Problem(深度优先搜索)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- HDOJ-1016 Prime Ring Problem(DFS)
http://acm.hdu.edu.cn/showproblem.php?pid=1016 题意:输入n,代表有一个包含n个节点的环,在环中的节点中填入1,2...n-1,n,要求填入的数与左边的数 ...
- HDU 1016 Prime Ring Problem (素数筛+DFS)
题目链接 题意 : 就是把n个数安排在环上,要求每两个相邻的数之和一定是素数,第一个数一定是1.输出所有可能的排列. 思路 : 先打个素数表.然后循环去搜..... #include <cstd ...
- 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(回溯)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1016 Prime Ring Problem Time Limit: 4000/2000 MS (Jav ...
随机推荐
- Linux学习14-ab报错apr_pollset_poll: The timeout specified has expired (70007)
前言 使用ab压力测试时候出现报错apr_pollset_poll: The timeout specified has expired (70007),本篇总结了几个ab常见的报错和对应解决办法 当 ...
- AOP拦截器 表达式写法
Pointcut 是指那些方法需要被执行"AOP",是由"Pointcut Expression"来描述的.Pointcut可以有下列方式来定义或者通过& ...
- JavaScript中的方法、方法引用和参数
首先,我们来看一段代码,如果觉得不甚明白的,则本文会对你有益: var player = function (e) { return (function f(m) { ...
- android屏幕适配——1920x1200
解决方式 写成values-port-hdpi-1824x1200 近期做项目中发现问题 我写分辨率values-1920x1200,可是平板华为x1 不走这个分辨率,写1800x1000 会进,可是 ...
- go语言之进阶篇 select实现的超时机制
1.select实现的超时机制 示例: package main import ( "fmt" "time" ) func main() { ch := mak ...
- 关于html+ashx开发中几个问题的解决方法 (转)
在跟html+ashx打交道的园友们肯定会发现,这种模式虽然优美,但在开发中会遇到一些难处理的地方.我也不例外,下面是自己在实际开发中总结出来的几条经验,希望跟大家分享,更希望得到大家的建议和更好的解 ...
- iOS开发-邮件发送
Web开发的时候邮箱注册登录是必不可少的,手机号可以更换,不过相对而言,邮箱只是用于比较重要的时候用到,比如找工作的时候必填的邮箱,注册网站会员的邮箱验证.现在的手机和Web的其实操作是一样的,大多数 ...
- C# 将 Json 解析成 DateTable
#region 将 Json 解析成 DateTable /// /// 将 Json 解析成 DateTable. /// Json 数据格式如: /// {table:[{column1:1,co ...
- svg image标签降级技术
1.svg image标签降级技术: svg不能很好的在anroid2.3中得到支持,需要额外的补充,IE8-以及Android 2.3默认浏览器是不支持SVG的. svg image标签降级技术,这 ...
- Esxi 6.0虚拟机迁移Linux遇到网络配置错误
在使用vmware迁移linux系统过程中(迁移方式是导出OVF模板和部署OVF模板),发现部署后的linux系统无法启动网卡 报错为 Bringing up interface eth0: Devi ...