HDU 1016 Prime Ring Problem (素数筛+DFS)
题意 : 就是把n个数安排在环上,要求每两个相邻的数之和一定是素数,第一个数一定是1。输出所有可能的排列。
思路 : 先打个素数表。然后循环去搜。。。。。
//
#include <cstdio>
#include <cstring>
#include <iostream> using namespace std ; bool vis[];
int prime[] ,cs[];
int n ; void get_prime()
{
memset(prime,,sizeof(prime));
prime[] = ;
for(int i = ; i < ; i ++)
{
if(prime[i] == )
{
for(int j = i*i ; j < ; j += i)
prime[j] = ;
}
}
} void DFS(int s,int cnt)
{
if(cnt == n)
{
if(prime[cs[n]+]) return ;
for(int i = ; i <= n - ; i++)
cout << cs[i] <<" " ;
cout << cs[ n ]<<endl ;
return ;
}
for(int i = ; i <= n ; i++)
{
if(!vis[i] && !prime[s+i])
{
cs[++cnt] = i ;
vis[i] = true ;
DFS(i,cnt) ;
cnt -- ;
vis[i] = false ;
}
}
}
int main()
{
int casee = ;
get_prime() ;
while( cin >> n )
{
memset(vis,false,sizeof(vis)) ;
cout << "Case "<<casee++ <<":" << endl ;
vis[] = true ;
cs[] = ;
DFS(,) ;
cout << endl ;
}
return ;
}
HDU 1016 Prime Ring Problem (素数筛+DFS)的更多相关文章
- Hdu 1016 Prime Ring Problem (素数环经典dfs)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- HDU 1016 Prime Ring Problem(经典DFS+回溯)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- 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(素数环问题)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1016 Prime Ring Problem Time Limit: 4000/2000 MS (Jav ...
- [HDU 1016]--Prime Ring Problem(回溯)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1016 Prime Ring Problem Time Limit: 4000/2000 MS (Jav ...
- HDU 1016 Prime Ring Problem (DFS)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- hdu 1016 Prime Ring Problem(dfs)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- hdu 1016 Prime Ring Problem(DFS)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- HDU 1016 Prime Ring Problem (回溯法)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- HDU - 1016 Prime Ring Problem 经典素数环
Prime Ring Problem A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., ...
随机推荐
- Union-SQL Server学习笔记
1.简单笔记 数据库查询语句中,通过UNION组合查询语句,可以将两个或更多查询的结果组合为单个结果集,该结果集包含组合查询中的所有查询的全部行. 利用UNION语句可以实现将不同数据表中符合条件,不 ...
- python 生成二维码
#coding:utf8 try: import qrcode except ImportError: qrcode = None class MakeQr: def onUseQrcode(self ...
- linux matplotlib入门
python linux matplotlib 安装: sudo apt-get install python-numpy 必须 先安装numpy matplotlib 安装: sudo ap ...
- Shell遍历文件的每一行[转载]
#!/bin/sh while read line do echo $line done < /home/jms/lab/input.txt
- 互联网产品设计常用文档类型-BRD、MRD、PRD、FSD (
BRD Business Requirements Document,商业需求文档.这是产品声明周期中最早的问的文档,再早就应该是脑中的构思了,其内容涉及市场分析,销售策略,盈利预测等,通常是和老大们 ...
- 也发一个自己实现的android简单文件选择器代码。支持多卡,排序
一个很简单的文件选择器对话框,支持双sd卡,当然前提是要有sd卡..并且实现了排序效果. 只有100多行的代码,基本的思路就是用listview显示目录下的所有子文件,再判断是文件还是目录. 利用Co ...
- 详谈socket请求Web服务器过程
最开始我们需要明白一件事情,因为这是这篇文章的前提: HTTP协议只是一个应用层协议,它底层是通过TCP进行传输数据的.因此,浏览器访问Web服务器的过程必须先有“连接建立”的发生. 而有人或许会问: ...
- PHP中如何连接数据库基本语句
只是后端修改页面,不需要在前端显示的可以删除原有代码只输入<?php 开始编写语言即可,后面的?>也可以省略 //造一个连接$connect = @mysql_connect(" ...
- 《IT小小鸟》阅读心得
我是一个不爱看书的人,认为看那些又臭又长废话连篇的书是在浪费时间,但我不认为在那么多的书中没有好书,在一次的职业生涯规划中老师推荐了这本书,一开始认为不值得一看,但还是拿了起来,读了有不少的感触. 书 ...
- WC2016游记
出发的时候,长沙忽然就出了太阳,明媚而和煦. [day0 25] 噫吁嚱,危乎高哉!蜀道之难,难于上青天! 总之本来上午已经准备好9:50的飞机…然后就在一次次的手机查询中变成了5点多…然后也不是直飞 ...