HDU(1016),打素数环
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1016
哈哈,状态来了就是不一样,很快就A了。
注意的位置是,最后一个点,要与第一个点比较。
#include <stdio.h>
#include <string.h> int prime[]= {}; ///是素数就是0
bool vis[];
int ans[];
int n; void dfs(int k)
{
//printf("%d\n",k);
if(k==n+)
{
for(int i=; i<n; i++)
printf("%d ",ans[i]);
printf("%d\n",ans[n]);
return ;
}
else if(k==n)
{
for(int i=; i<=n; i++)
{
if(!vis[i]&&!prime[ans[k-]+i]&&!prime[i+ans[]])
{
ans[k] = i;
vis[i]=true;
dfs(k+);
vis[i] = false;
}
}
}
else
{
for(int i=; i<=n; i++)
{
if(!vis[i]&&!prime[ans[k-]+i])
{
ans[k] = i;
vis[i]=true;
dfs(k+);
vis[i] = false;
}
}
}
} int main()
{
///打出40个素数来
for(int i=; i<; i++)
if(!prime[i])
for(int j=i*i; j<; j+=i)
prime[j] = ; /*for(int i=2; i<=45; i++)
{
if(!prime[i])
printf("%d ",i);
}
puts("");*/ int Case = ;
while(scanf("%d",&n)!=EOF)
{
memset(vis,false,sizeof(vis));
memset(ans,,sizeof(ans));
printf("Case %d:\n",Case++);
ans[] = ;
vis[] = true;
dfs();
puts("");
} return ;
}
HDU(1016),打素数环的更多相关文章
- HDU 1016 素数环(dfs + 回溯)
嗯... 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1016 一道很典型的dfs+回溯: 根据题意首先进行初始化,即第一个位置为1,然后进行dfs, ...
- HDU - 1016 Prime Ring Problem 经典素数环
Prime Ring Problem A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., ...
- [HDU 1016]--Prime Ring Problem(回溯)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1016 Prime Ring Problem Time Limit: 4000/2000 MS (Jav ...
- 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 ...
- one recursive approach for 3, hdu 1016 (with an improved version) , permutations, N-Queens puzzle 分类: hdoj 2015-07-19 16:49 86人阅读 评论(0) 收藏
one recursive approach to solve hdu 1016, list all permutations, solve N-Queens puzzle. reference: t ...
- hdu 1016
这是一道考搜索的题目.这道题我用深搜解决了,不过说实话自己对于深搜理解得并不深刻,在这里对于这一题总结一下. 这道题输入为一个实数n,要求输出有1~n这n个数所组成的所有素数环(这是素数环),素数环的 ...
- HDU 1016 Prime Ring Problem(经典DFS+回溯)
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- nyoj 488 素数环
素数环 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 有一个整数n,把从1到n的数字无重复的排列成环,且使每相邻两个数(包括首尾)的和都为素数,称为素数环. 为了简 ...
随机推荐
- acm刷题序列
POJ推荐50题 著名的北邮acm训练队推荐50题 https://blog.csdn.net/bat67/article/details/71735012 都是poj上的题 1000:会教会你如何使 ...
- 从c到cpp对static 关键字的总结 需要整理下!!!!!!!!!!!!!!!!!!!!!!
一个完整的程序,在内存中的分布情况如下: 具体分布图 自己看书去!!!!!1.栈区: 由编译器自动分配释放,像局部变量,函数参数,都是在栈区.会随着作用于退出而释放空间.3.堆区:程序员分配并 ...
- 安装Chrome插件Markdown Preview Plus
1.在谷歌应用商店,安装Chrome插件Markdown Preview Plus 2.设置Markdown Preview Plus (1)鼠标左键该拓展插件 (2)鼠标右键该插件 3.将mar ...
- Transition FrameWork
Android Transition Framework可以实现三种效果: 不同Activity之间切换时,Activityc的内容(contentView)转场动画 不同Activity之间切换时, ...
- 使用summernote编辑器上传图片,重写onImageUpload
JS部分:$('.summernote').summernote({ height: 200,//高度 tabsize: 2,//页面上的summernote编辑框的个数 lang: 'zh-CN', ...
- C# 进一取整
C#: // "/"号现在整形运算是取整,浮点运算时为除法运算 Console.WriteLine("(56/10):{0}", 56 / 10);//5 Co ...
- 错误:子进程 已安装 pre-removal 脚本 返回了错误号 1
解决办法 sudo rm /var/lib/dpkg/info/<package name>.*
- GitKraken使用教程-基础部分(2)
3. 修改用户名 为了方便项目中代码的管理,需要重新编辑用户名. 点击右上角的图像即可看到如下图 3‑1所示的下拉菜单,鼠标悬于Profile上,会出现一个Edit按钮. 图 3‑1 编辑个人信息 点 ...
- jQuery的实现编码,解决特殊字符 <script> "
function htmlEncode(value){ if (value) { return jQuery('<div />').text(value).html(); } else { ...
- checkBox 全选、全不选、反选
checkBox的使用: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http: ...