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内核中的RCU机制
转自:http://blog.chinaunix.net/uid-23769728-id-3080134.html RCU的设计思想比较明确,通过新老指针替换的方式来实现免锁方式的共享保护.但是具体到 ...
- skb的两个函数pskb_copy和skb_copy
转自:http://blog.csdn.net/farmwang/article/details/54235252 skb的两个函数pskb_copy和skb_copy 前者仅仅是将sk_buff的结 ...
- BI 可视化
1. Blackbird: Open Source JavaScript Logging Utility Blackbird 是一款非常酷的 JavaScript 调试工具,带有一个漂亮的界面显示和过 ...
- fromdata上传文件,ajax上传文件, 纯js上传文件,html5文件异步上传
前端代码: 上传附件(如支付凭证等) <input type="file" name="fileUpload" id="fileUpload&q ...
- Understanding Linux CPU stats
Your Linux server is running slow, so you follow standard procedure and run top. You see the CPU met ...
- Maven中的库(repository)详解
Maven中的库(repository)是构件(artifact)的集合.构件以一定的布局存储在库中. 本地仓库 vs. 远程仓库 运行Maven的时候,Maven所需要的任何构件都是直接从本地仓库获 ...
- 小游戏:HelloColor
这是我写的第一个游戏.模仿一款手机游戏"颜色运行"写的.大概花了一天的时间完成,挺简单的. 游戏名:HelloColor,翻译成中文是:你好色 按空格键开始和暂停开始游戏后,界面右 ...
- Linux 动态链接库(.so)的使用
1. 背景 库:就是已经编写好的,后续可以直接使用的代码. c++静态库:会合入到最终生成的程序,使得结果文件比较大.优点是不再有任何依赖. c++动态库:动态库,一个文件可以多个代码同时使用内存中只 ...
- 命令行修改mysql密码和远程访问
http://jingyan.baidu.com/article/a3a3f8118cea488da2eb8a0a.html
- 【Java】SAX解析characters 错误截取问题的解决
SAX解析characters 错误截取问题的解决 SAX characters bug_百度搜索 SAX解析characters 错误截取问题的解决 - CSDN博客 [Android]SAX解析之 ...