Prime Ring Problem dfs
Note: the number of first circle should always be 1.
OutputThe output format is shown as sample below. Each row
represents a series of circle numbers in the ring beginning from 1
clockwisely and anticlockwisely. The order of numbers must satisfy the
above requirements. Print solutions in lexicographical order.
You are to write a program that completes above process.
Print a blank line after each case.
Sample Input
6
8
Sample Output
Case 1:
1 4 3 2 5 6
1 6 5 2 3 4 Case 2:
1 2 3 8 5 6 7 4
1 2 5 8 3 4 7 6
1 4 7 6 5 8 3 2
1 6 7 4 3 8 5 2 代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <map>
#include <cmath>
int n,ans[]={};
using namespace std;
int vis[];
bool isnum(int x)
{
if(x<=)return false;
for(int i=;i<=sqrt(x);i++)
{
if(x%i==)return false;
}
return true;
}
void dfs(int k,int last)
{
if(k==n)
{
if(!isnum(ans[]+ans[n-]))return;
printf("%d",ans[]);
for(int i=;i<n;i++)
printf(" %d",ans[i]);
putchar('\n');
return;
}
for(int i=;i<=n;i++)
if(!vis[i]&&isnum(last+i))
{
vis[i]=;
ans[k]=i;
dfs(k+,i);
vis[i]=;
}
}
int main()
{
int k=;
while(cin>>n)
{
vis[]=;
printf("Case %d:\n",++k);
dfs(,);
putchar('\n');
}
}
Prime Ring Problem dfs的更多相关文章
- 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 ...
- Prime Ring Problem(dfs水)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1016 Prime Ring Problem Time Limit: 4000/2000 MS (Jav ...
- Hdu1016 Prime Ring Problem(DFS) 2016-05-06 14:27 329人阅读 评论(0) 收藏
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- Prime Ring Problem (DFS练习题)
K - Prime Ring Problem ============================================================================= ...
- hdu1016 Prime Ring Problem(DFS)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- Uva 552 Prime Ring Problem(dfs)
题目链接:Uva 552 思路分析:时间限制为3s,数据较小,使用深度搜索查找所有的解. 代码如下: #include <iostream> #include <string.h&g ...
- HDU 1016 Prime Ring Problem(经典DFS+回溯)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- HDU1016 Prime Ring Problem(DFS回溯)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
随机推荐
- TPCx-BB源码分析
Copy from: 一篇文章看懂TPCx-BB(大数据基准测试工具)源码 TPCx-BB是大数据基准测试工具,它通过模拟零售商的30个应用场景,执行30个查询来衡量基于Hadoop的大数据系统的包括 ...
- angular5补漏知识点
1.属性行指令 attr.** 2.ngfor循环优化 trackBy func 3.aot编译 4.tree shaking 5.脏检测方法 6.管道的 pure和impure 7.asyncpip ...
- Java8 Lambda代码备份
简单研究了一下,贴出来,相当于笔记 import java.lang.reflect.*; import java.util.ArrayList; import java.util.List; imp ...
- IIS中发布后出现Could not load file or assembly'System.Data.SQLite.dll' or one of its depedencies
[问题]在我本机的开发环境c#连接sqlite3没有问题,可是release版本移植到其他的机器就提示Could not load file or assembly'System.Data.SQLit ...
- 各个安卓版本 使用的 Linux Kernel Version
Android Version |API Level |Linux Kernel in AOSP --------------------------------------------------- ...
- Python多线程多进程
一.线程&进程 对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程, ...
- UVA-242 Stamps and Envelope Size (DP)
题目大意:给一些邮票的面值组合,找出在限定的张数范围内能组合出连续最大值得那个组合. 题目分析:状态可以这样定义:dp(k,u)表示u能否用k张邮票组合成.状态转移方程很显然了. 代码如下: # in ...
- 最全面的mac下的android studio快捷键
Action Mac OSX Win/Linux 注释代码(//) Cmd + / Ctrl + / 注释代码(/**/) Cmd + Option + / Ctrl + Alt + / 格式化代码 ...
- BUCTOJ1073
#include "iostream" #include "algorithm" using namespace std; ; struct Time { in ...
- 我所理解的event loop
灵魂三问 JS为什么是单线程的 我们都知道,JS是单线程的语言,那为什么呢?我的理解是JS设计之初就是为了在浏览器端完成DOM操作和一些简单交互的,既然涉及到DOM操作如果是多线程就会带来复杂的同步问 ...