Prime Ring Problem -- 第一个真正意义上的 搜索
这个搜索............搜的我头都大了.......不过还是 懂了那么一点点...哈哈
从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 ;
}
一直会有这样那样的错误 , 归结了一下还是不细心造成的 . . . . . . . . . . . . . 一点一点的改吧 .
Prime Ring Problem -- 第一个真正意义上的 搜索的更多相关文章
- 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 ...
- uva 524 prime ring problem——yhx
Prime Ring Problem A ring is composed of n (even number) circles as shown in diagram. Put natural ...
- hdu 1016 Prime Ring Problem(DFS)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- 杭电oj 1016 Prime Ring Problem
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- UVA - 524 Prime Ring Problem(dfs回溯法)
UVA - 524 Prime Ring Problem Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & % ...
- Prime Ring Problem + nyoj 素数环 + Oil Deposits + Red and Black
Prime Ring Problem Time Limit : 4000/2000ms (Java/Other) Memory Limit : 65536/32768K (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 ...
- Prime Ring Problem
Problem Description A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ... ...
随机推荐
- CentOS7安装Nginx及其相关
一.安装所需环境 gcc 安装 安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装. yum install gcc-c++ PCRE pcr ...
- docker-ce安装官翻
参考http://www.cnblogs.com/maple42/p/5868846.htmlhttp://blog.csdn.net/lizehua123/article/details/50601 ...
- spring cloud feign 坑
feign是啥? 很多人可能对于feign 不是很熟悉,可以看一下其他网友的实例分享:spring cloud feign简介 如果觉得上面这个比较难的话,还有一个简单入门的:spring cplou ...
- HDU 1573 解同余模线性方程组
题目意思很直接就是一道裸的解线性同余模方程组的题目 #include <cstdio> #include <cstring> using namespace std; #def ...
- ssh整合配置文件------web.xml配置
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://w ...
- F - Experienced Endeavour 矩阵快速幂
Alice is given a list of integers by Bob and is asked to generate a new list where each element in t ...
- 单例模式解决RabbitMQ超出最大连接问题
今天在项目稳定性测试过程中遇到一个情景:通过工具jMeter一直请求消息转发服务器,消息转发服务器再向rabbitMQ发送数据,在这期间出现了问题.MQ意外宕机. 1. 查看rabbitMQ管理界面. ...
- CH上的Think Bear#1模拟赛
题目:http://www.contesthunter.org/contest/CH%20Round%20%2352%20%20Thinking%20Bear%20%231%20(NOIP%E6%A8 ...
- 修改PostgreSQL数据库的默认用户postgres的密码
有时候,忘记了postgresql 安装时默认用户postgres 的密码,怎么办呢? linux shell命令下面输入: sudo -u postgres psql (这样就可以直接登录进pos ...
- 3.1 The Interpolating Polynomial(站点)
Cubic Interpolation: https://www.youtube.com/watch? v=EtzlEA9MIwI Quad ...