很简单的深搜 只要看出来是深搜...

注意判断最后一点是否与加一为质数

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<map>
#include<math.h>
using namespace std;
int n;
int ans[30];
bool vis[30];
bool ok[105];
void init()///素数打表
{
memset(ok,true,sizeof(ok));
for(int i=2;i<=100;i++)
{
for(int k=2;k*i<=100;k++)
{
ok[k*i]=false;
}
}
return ;
}
bool check(int a,int b)
{
if(ok[a+b]==true)
return true;
else return false;
}
void dfs(int w,int a)
{
vis[a]=false;
ans[w++]=a;
if(w==n&&check(a,1))
{
for(int i=0;i<w;i++)
{
printf("%d",ans[i]);
if(i==w-1)
printf("\n");
else printf(" ");
}
return ;
}
for(int i=1;i<=n;i++)
{
if(vis[i]==true)
{
if(check(i,a))
{
dfs(w,i);
vis[i]=true;
}
}
}
return ;
}
int main(){
int tt=0;
init();
while(~scanf("%d",&n))
{
tt++;
printf("Case %d:\n",tt);
memset(vis,true,sizeof(vis));
dfs(0,1);
printf("\n");
}
}

  

HDU 1016 DFS的更多相关文章

  1. Prime Ring Problem HDU - 1016 (dfs)

    Prime Ring Problem HDU - 1016 A ring is compose of n circles as shown in diagram. Put natural number ...

  2. [HDU]1016 DFS入门题

    题目的意思就是在1到n的所有序列之间,找出所有相邻的数相加是素数的序列.Ps:题目是环,所以头和尾也要算哦~ 典型的dfs,然后剪枝. 这题目有意思的就是用java跑回在tle的边缘,第一次提交就tl ...

  3. HDU 1016 Prime Ring Problem(经典DFS+回溯)

    Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  4. HDOJ(HDU).1016 Prime Ring Problem (DFS)

    HDOJ(HDU).1016 Prime Ring Problem (DFS) [从零开始DFS(3)] 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架 ...

  5. 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 ...

  6. HDU 5143 DFS

    分别给出1,2,3,4   a, b, c,d个 问能否组成数个长度不小于3的等差数列. 首先数量存在大于3的可以直接拿掉,那么可以先判是否都是0或大于3的 然后直接DFS就行了,但是还是要注意先判合 ...

  7. Snacks HDU 5692 dfs序列+线段树

    Snacks HDU 5692 dfs序列+线段树 题意 百度科技园内有n个零食机,零食机之间通过n−1条路相互连通.每个零食机都有一个值v,表示为小度熊提供零食的价值. 由于零食被频繁的消耗和补充, ...

  8. DFS hdu 1016

    http://acm.hdu.edu.cn/showproblem.php?pid=1016 #include <iostream> using namespace std; int a[ ...

  9. HDU 1016 素数环(dfs + 回溯)

    嗯... 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1016 一道很典型的dfs+回溯: 根据题意首先进行初始化,即第一个位置为1,然后进行dfs, ...

随机推荐

  1. 运输装备(codevs 1669)

    1669 运输装备  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 钻石 Diamond 题解       题目描述 Description 德国放松对英国的进攻后,把矛头指向 ...

  2. linux编译中的常见问题

    转linux编译中的常见问题 错误提示:Makefile:2: *** 遗漏分隔符 . 停止. 原因makefile中 gcc语句前 缺少一个 tab分割符 错误提示: bash: ./makefil ...

  3. Linq学习笔记---Linq to Sql之where

    http://kb.cnblogs.com/page/42465/ Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断 ...

  4. MySQL auto-extending data file

    http://blog.csdn.net/hw_libo/article/details/39215723 http://blog.sina.com.cn/s/blog_5037eacb0102vjm ...

  5. iftop

    http://book.51cto.com/art/201409/452431.htm https://wiki.vpsmm.com/iftop/ http://www.cnblogs.com/Alo ...

  6. sybase常用SQL语句,工作中积累的

    -------创建sybase设备 语句--------- disk init name="DEV_DB_CLIENT_DAT26", physname="F:\syba ...

  7. mysql封装类

    <?php ;         ;         $cnt = mysql_num_rows($rsPtr);         ;         ) {             $id =  ...

  8. Azure Mobile Services的REST API调用方式和自定义API

    Azure Mobile Services(移动服务)是微软在Azure平台中提供的一种跨平台的移动应用后端服务,即移动后端即服务.支持.NET和JavaScript(Node.js)写后端代码:支持 ...

  9. 神经网络:多层网络与C++实现

    相关源码可参考最新的实现:https://github.com/ronnyyoung/EasyML ,中的neural_network模块,后持续更新,包括加入CNN的结构. 一.引言 在前一篇关于神 ...

  10. 建模算法(八)——插值

    插值:求过已知有限个数据点的近似函数 拟合:已知有限个数据点,求近似函数,不要求过已知数据点,只要求在某种意义下在这些点的误差最小 (一)插值方法 一.拉格朗日多项式插值 1.插值多项式 就是做出一个 ...