NYoj 素数环(深搜入门)
题目链接:
http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=488
深搜模板:
- void dfs(int 当前状态)
- {
- if(当前状态为边界状态)
- {
- 记录或输出
- return;
- }
- for(i=;i<n;i++) //横向遍历解答树所有子节点
- {
- //扩展出一个子状态。
- 修改了全局变量
- if(子状态满足约束条件)
- {
- dfs(子状态)
- }
- 恢复全局变量//回溯部分
- }
- }
未优化的代码:
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <math.h>
- #include <algorithm>
- #include <iostream>
- using namespace std;
- int a[]={};
- bool visit[];
- int n;
- bool isprime(int x){
- int i;
- for(i=;i*i<=x;i++){
- if(x%i==)
- return false;
- }
- return true;
- }
- void DFS(int x){
- int i;
- if(x==n-){
- if(isprime(a[x]+)){
- printf("");
- for(i=;i<n;i++)
- printf(" %d",a[i]);
- printf("\n");
- return ;
- }
- }
- for(i=;i<=n;i++){
- if(visit[i]==&&isprime(a[x]+i)){
- visit[i]=;
- a[x+]=i;
- DFS(x+);
- visit[i]=;
- }
- }
- }
- int main()
- {
- int i;
- int Case=;
- while(scanf("%d",&n),n){
- memset(visit,,sizeof(visit));
- printf("Case %d:\n",Case++);
- if(n%==||n==)
- DFS();
- else
- printf("No Answer\n");
- }
- return ;
- }
素数可以打表:
- #include <iostream>
- #include <algorithm>
- using namespace std;
- bool sushu[]={,
- ,,,,,,,,
- ,,,,,,,,
- ,,,,,,,,
- ,,,,,,,,
- ,,,,,,,
- };
- int a[], res[], n, flag;
- void dfs(int now)
- {
- int i;
- if (now==n&&sushu[a[n-]+a[n]])
- {
- flag = ;
- for (i = ; i<n; i++)
- cout<<a[i]<<" ";
- cout<<endl;
- }
- else
- {
- for (i = ; i<=n; i++)
- if (!res[i]&&sushu[i+a[now-]])
- {
- res[i] = ;
- a[now] = i;
- dfs(now+);
- res[i] = ;
- }
- }
- }
- int main()
- {
- int N;
- N=;
- while (cin>>n&&n)
- {
- flag = ;
- a[]=a[n]=;
- cout<<"Case "<<N++<<":"<<endl;
- if ((n-)&||n==)
- dfs();
- if (flag)
- cout<<"No Answer\n";
- }
- return ;
- }
NYoj 素数环(深搜入门)的更多相关文章
- HDU 1016(素数环 深搜)
题意是说对一个长度为 n 的数环进行排列,使得相邻两数的和为素数,按从小到大的顺序依次输出. 因为是环,所以总能调整成以 1 为序列首输出.用深度优先搜索的方法即可.在判断素数时由于 n 小于 20, ...
- Prime Ring Problem + nyoj 素数环 + Oil Deposits + Red and Black
Prime Ring Problem Time Limit : 4000/2000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) ...
- NYOJ 10 skiing (深搜和动归)
skiing 时间限制:3000 ms | 内存限制:65535 KB 难度:5 描写叙述 Michael喜欢滑雪百这并不奇怪. 由于滑雪的确非常刺激.但是为了获得速度.滑的区域必须向下倾斜.并且 ...
- POJ 2488:A Knight's Journey 深搜入门之走马观花
A Knight's Journey Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 35342 Accepted: 12 ...
- POJ 2386 DFS深搜入门
题目链接 Time Limit: 1000MS Memory Limit: 65536K Description Due to recent rains, water has pooled in va ...
- NYoj 部分和问题(深搜经典)
题目链接: http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=1058 #include <stdio.h> ], vis[], co ...
- DFS 深搜专题 入门典例 -- 凌宸1642
DFS 深搜专题 入门典例 -- 凌宸1642 深度优先搜索 是一种 枚举所有完整路径以遍历所有情况的搜索方法 ,使用 递归 可以很好的实现 深度优先搜索. 1 最大价值 题目描述 有 n 件物品 ...
- 本BLOG简介(内有一道UVa524素数环进阶版)【B001】
[B001]Hi,大家好,今天我的博客第一天开通,今天奉上开博题,出自首都师师范大学附属中学OJ(题号未知在练习场中)原题为UVa524,题目要求如下: [难度B]—————————————————— ...
- HDU1016 素数环---(dfs)
http://acm.hdu.edu.cn/showproblem.php?pid=1016 Sample Input 6 8 Sample Output Case 1: 1 4 3 2 5 6 ...
随机推荐
- 《SAS编程和数据挖掘商业案例》学习笔记# 19
继续<SAS编程与数据挖掘商业案例>学习笔记,本文側重数据处理实践.包含:HASH对象.自己定义format.以及功能强大的正則表達式 一:HASH对象 Hash对象又称散列表,是依据关键 ...
- CSS设计指南之理解盒子模型
原文:CSS设计指南之理解盒子模型 一.理解盒模型 每一个元素都会在页面上生成一个盒子.因此,HTML页面实际上是由一堆盒子组成的.默认情况下,每个盒子的边框不可见,背景也是透明的,所以我们不能直接看 ...
- HTML的标签使用
<p>段落标签</p>:段落标签 <hx>标题标签</hx>:标题标签,x代表1-6 <em>斜体</em>:显示的字体是斜的 ...
- sql server 数据库 只有mdf文件,如何附加
直接附加就可以,SQL 会提示LOG文件找不到,可删除提示的错误行,只附加MDF文件,附加成功后,SQL会自动创建LOG文件.
- 最简单的视音频播放演示样例8:DirectSound播放PCM
===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频 ...
- c语言实现hashtable,相似C++的map和iOS的NSDictionary
跟线性数组和链表不同.HashTable是高速查找的数据结构.本文中的HashTable使用链表处理数组. 该HashTable能够指定table的长度.提供了遍历的方法. 包含table的长度的选择 ...
- RecyclerView0基于使用
(转载请注明出处:http://www.kennethyo.me/post/android/recyclerviewchu-ji-shi-yong) RecyclerView是Android在v7包中 ...
- html5中关于input使用方法的改变
測试环境:Firefox 10.0.Safari 5.1.Opera 11.61, Chrome 14.0.835.202 自己測试的时候都有写在form表单里,有提交button验证.由于对博客使用 ...
- SSH深度历险记(八) 剖析SSH核心原则+Spring依赖注入的三种方式
于java发育.一类程序猿必须依靠类的其他方法,它是通常new依赖类的方法,然后调用类的实例,这样的发展问题new良好的班统一管理的例子.spring提出了依赖注入的思想,即依赖类不由程 ...
- Python标准库09 当前进程信息 (部分os包)
原文:Python标准库09 当前进程信息 (部分os包) 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们在Linux的概念 ...