题目链接:Uva 552

思路分析:时间限制为3s,数据较小,使用深度搜索查找所有的解。

代码如下:

#include <iostream>
#include <string.h>
using namespace std; const int MAX_N = ;
int n;
int A[MAX_N], vis[MAX_N]; int is_prime( int n )
{
if ( n == )
return true; for ( int i = ; i * i <= n; ++i )
if ( n % i == )
return false; return true;
} void dfs( int cur )
{
if ( cur == n && is_prime( A[] + A[n - ] ) )
{
int i = ; for ( i = ; i < n - ; ++i )
printf( "%d ", A[i] );
printf( "%d", A[i] );
printf( "\n" );
}
else
{
for ( int i = ; i <= n; ++i )
{
if ( !vis[i] && is_prime( i + A[cur - ] ) )
{
A[cur] = i;
vis[i] = ;
dfs( cur + );
vis[i] = ;
}
}
}
} int main( )
{
int count = ; while ( scanf( "%d", &n ) != EOF )
{
if ( count != )
printf( "\n" ); A[] = ;
memset( vis, , sizeof( vis ) );
printf( "Case %d:\n", count++ );
dfs( );
} return ;
}

Uva 552 Prime Ring Problem(dfs)的更多相关文章

  1. UVA - 524 Prime Ring Problem(dfs回溯法)

    UVA - 524 Prime Ring Problem Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & % ...

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

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

  3. UVa 524 Prime Ring Problem(DFS , 回溯)

    题意  把1到n这n个数以1为首位围成一圈  输出全部满足随意相邻两数之和均为素数的全部排列 直接枚举排列看是否符合肯定会超时的  n最大为16  利用回溯法 边生成边推断  就要快非常多了 #inc ...

  4. uva 524 prime ring problem——yhx

      Prime Ring Problem  A ring is composed of n (even number) circles as shown in diagram. Put natural ...

  5. HDU 1016 Prime Ring Problem (DFS)

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

  6. Prime Ring Problem(dfs水)

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

  7. 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 ...

  8. Prime Ring Problem (DFS练习题)

    K - Prime Ring Problem ============================================================================= ...

  9. hdu1016 Prime Ring Problem(DFS)

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

随机推荐

  1. IE能够打开网页 可是chrome和火狐打不开网页解决的方法

    一次偶然.电脑的浏览器打不开经常使用的网页,奇怪的是IE能够打开 之外的其它浏览器都不能够,结果百度一下.找到一个帖子,亲自測试一下,果真能够解决.记录例如以下: (1)開始-执行-输入CMD-确定- ...

  2. ASPxGridView-如何在客户端缓存数据

    有时候我们可以直接从后台生成一些值缓存到客户端,在用到的时候无需在进行callback进行取值,减少和服务器的交互.下面的例子缓存列"title_id"和"title&q ...

  3. JZOI

    orz..kpm大神做的JZOI卡.很好看 目前是全球限量十张哈哈哈   (正面) (背面) 原图:

  4. .NET中的IO操作之文件流(一)

    读操作 //1.创建文件流 FileStream fsRead =new FileStream("1.txt",FileMode.Open); //2.创建缓冲区,正常情况下,是不 ...

  5. 200常用JS

    .文本框焦点问题 onBlur:当失去输入焦点后产生该事件 onFocus:当输入获得焦点后,产生该文件 Onchange:当文字值改变时,产生该事件 Onselect:当文字加亮后,产生该文件 &l ...

  6. 采用translate实现垂直水平居中

    今天分享一个利用css3新特性实现垂直水平居中的方法. 通过对元素进行绝对定位再配合transform中的translate实现. 代码如下: html <div id="conten ...

  7. git版本控制的笔记

    一.配置你的身份,提交代码时git就可以知道是谁提交的了 git config --global user.name "Tony" git config --global user ...

  8. java处理图片时找到不sun.awt.X11GraphicsEnvironment问题

    -Djava.awt.headless=true 解决. export DISPLAY=:0或者xhost + localhost 来解决 1.    什么是Headless mode? Headle ...

  9. github 的分支操作

    首先需要当前目录设置为仓库目录 一.创建本地分支 1.查看有哪些分支:git branch 2.创建一个分支:git branch name  ,其中name是分支名 3.切换到分支:git chec ...

  10. Mac 让 iTerm2 记住用户名密码 expect 脚本

    刚刚用iTerm2的时候,总是要一遍遍的敲用户名.密码. 我在想, 能不能像Windows的软件一样,可以直接让软件记住.然后只要点击一下,就直接ssh到远程服务器上面去了. 之后经过搜索,可以用ex ...