题目链接

题意 : 就是把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)的更多相关文章

  1. Hdu 1016 Prime Ring Problem (素数环经典dfs)

    Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  2. HDU 1016 Prime Ring Problem(经典DFS+回溯)

    Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  3. HDOJ(HDU).1016 Prime Ring Problem (DFS)

    HDOJ(HDU).1016 Prime Ring Problem (DFS) [从零开始DFS(3)] 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架 ...

  4. HDU 1016 Prime Ring Problem(素数环问题)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1016 Prime Ring Problem Time Limit: 4000/2000 MS (Jav ...

  5. [HDU 1016]--Prime Ring Problem(回溯)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1016 Prime Ring Problem Time Limit: 4000/2000 MS (Jav ...

  6. HDU 1016 Prime Ring Problem (DFS)

    Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  7. hdu 1016 Prime Ring Problem(dfs)

    Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  8. hdu 1016 Prime Ring Problem(DFS)

    Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  9. HDU 1016 Prime Ring Problem (回溯法)

    Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  10. HDU - 1016 Prime Ring Problem 经典素数环

    Prime Ring Problem A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., ...

随机推荐

  1. golang的goroutine与channel

    Golang的goroutine是非抢占式的, 令人相当蛋疼! 有痛不能呻吟...只能配合channel在各goroutine之间传递信号来实现抢占式, 而这形成了golang最灵活与最具性能的核心. ...

  2. 通过WebBrowser取得AJAX后的网页

    通常情况下通过WebBrowser的文档加载完成事件DocumentCompleted中进行判断 if (_WebBrowder.ReadyState == WebBrowserReadyState. ...

  3. 常用gradle命令

    1.build.gradle ext { profile = "dev" tag='web' if (project.hasProperty('pro')) { temp = pr ...

  4. mysql 字段编码该为utf8mb4

    alter table c_comment modify column content varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unico ...

  5. 避免写出IE Bug

    https://github.com/KitWong/KitWong.github.io/tree/master/_posts

  6. 结队开发项目——基于Android的无线点餐系统——NABC模型

    特点:通过提前订餐,可以节约学生大量的排队时间. N(need):生活中可以发现许多同学都喜欢出去买饭,而且在有的摊位需要排很长时间的队,这样他们就会很晚吃到饭,下午有课的学生都不能睡午觉,所以通过我 ...

  7. VS(C++)编程遇到的错误集合

    编译错误 1.error C1010: 原因:没有在文件开头添加include "stdafx.h". 2.error C2440: "=": 无法从" ...

  8. Python中数据的保存和读取

    在科学计算的过程中,往往需要保存一些数据,也经常需要把保存的这些数据加载到程序中,在 Matlab 中我们可以用 save 和 lood 函数很方便的实现.类似的在 Python 中,我们可以用 nu ...

  9. 我存在,你深深的循环里--从反射看JSON死循环

      JSON有一个非常经典的问题:JSONException: There is a cycle in the hierarchy!俗称死循环.解决这个问题至少有三种以上的办法,总之一句话就是过滤.今 ...

  10. Cash flow

    Today,we learn about the cash flow. Cash flow summary: 1.The cash flow identity:(现金恒等式) cash flow fr ...