这个搜索............搜的我头都大了.......不过还是 懂了那么一点点...哈哈

从3/7晚上  做到3/8晚上------从女生到妇女  我都用来做着一道题了.........

所谓的 深度优先搜索   还是   递归调用自身                            关键思想是

在上面写出  满足  条件的  情况  例如 if 然后怎么怎么  然后 不满足的话 继续 调整  一点一点继续  调用尝试   如果发现   不合适的话 在调用的 后面        重新 将数据还原成   没有 尝试  时  的 样子       ,,,,,,just  so so

明天据需努力    先开始  N 皇后问题     听说 和这一道题    挺像的    .

奇数的话除了 1  其余的都是无解

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<iostream>
#include<algorithm>
#include<queue>
#include<vector>
#include<set>
#include<stack>
#include<string>
#include<sstream>
#include<map>
#include<cctype>
using namespace std;
bool isPrime(int num)
{
if (num == || num == )
{
return true;
}
if (num % != && num % != )
{
return false;
}
for (int i = ; i*i <= num; i += )
{
if (num % i == || num % (i+) == )
{
return false;
}
}
return true;
}
int n,a[],mark=,visited[];
void DFS(int m)
{
if(m==n+&&isPrime(a[m-]+)) //戒指 填充完毕 , 比且最后一个数字和第一个数字之和 也是素数
{
for(int i=;i<n;i++)
printf("%d ",a[i]);
printf("%d\n",a[n]);
mark=;
}
for(int i=;i<=n;i++)
{
if(visited[i]==) // 这个数字 没有用过
{
if(isPrime(a[m-]+i)) // 如果上一个和这一个 之和是素数的话
{
a[m]=i;
visited[i]=;
DFS(m+);
visited[i]=;
}
}
}
}
int main()
{
int count1=;
while(scanf("%d",&n),n)
{
printf("Case %d:\n",++count1);
if(n%==&&n!=)
{
printf("No Answer\n");
continue;
}
mark=;
a[]=; //第一个位置上 一定 是 1
memset(visited,,sizeof(visited));
visited[]=;
DFS(); // 直接 开始填第二个坑 .
if(mark==)
printf("No Answer\n");
}
return ;
}

一直会有这样那样的错误 , 归结了一下还是不细心造成的 . . . . . . . . . . . . .      一点一点的改吧 .

最新文章

  1. Hadoop学习笔记系列文章导航
  2. 如何用Pivot实现行列转换
  3. web开发中不同设备浏览器的区分
  4. EF配置模型
  5. 全文搜索 Lucene.Net
  6. linux主要的发行版及其区别和联系
  7. MVC 详细说明
  8. vim 文字插入
  9. Unity5.0 手动激活
  10. C# 之【获取网页响应码200】
  11. Java控制台输入ScannerDemo
  12. 这个时间格式2017-09-26-T04:00:00Z php识别不出来
  13. 干货满满,腾讯云+社区技术沙龙 Kafka Meetup 深圳站圆满结束
  14. JavaScript 动态选择方法和属性
  15. goldsun取经----python2与 python3的差异
  16. yii2.0 邮件发送如何配置
  17. cycript使用
  18. Linux常用基本命令(chmod)
  19. c++第十七天
  20. 51nod 1307 绳子与重物(并查集水了一发)

热门文章

  1. gnuplot examples
  2. 分金币 (UVA 11300)
  3. 线程 synchronized锁机制
  4. Spark在Executor上的内存分配
  5. codevs1197 Vigen&#232;re密码
  6. java ee开发常用类和接口
  7. POJ 2485 Highways 最小生成树 (Kruskal)
  8. Android实现一个自己定义相机的界面
  9. python编程(基于twisted的client编程)
  10. 数据库数据在Java占用内存简单估算