博客
关于我
Prime Ring Problem-dfs
阅读量:326 次
发布时间:2019-03-04

本文共 1452 字,大约阅读时间需要 4 分钟。

#include
#include
#include
int prime (int m) { for(int i=2; i<=sqrt(m); i++) if(m%i==0) return 0; return 1;}int book[1000],a[1000],n;//a[]存数据void bfs(int x) { int i,j,k,l; if(x==n+1&&prime(1+a[n])==1) { printf("1"); for(i=2; i<=n; i++) printf(" %d",a[i]); printf("\n"); } else { for(i=2; i<=n; i++) { if(book[i]==0&&prime(a[x-1]+i)==1) { a[x]=i; book[i]=1; bfs(x+1); book[i]=0; } } }}int main() { int c=1; while(~scanf("%d",&n)) { memset(book,0,sizeof(book)); memset(a,'\0',sizeof(a)); printf("Case %d:\n",c++); book[1]=1; a[1]=1; bfs(2); printf("\n"); }}

Problem Description

A ring is compose of n circles as shown in diagram. Put natural number

1, 2, …, n into each circle separately, and the sum of numbers in
two adjacent circles should be a prime.

Note: the number of first circle should always be 1.

在这里插入图片描述

Input

n (0 < n < 20).

Output

The 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

Source

Asia 1996, Shanghai (Mainland China)

转载地址:http://lqah.baihongyu.com/

你可能感兴趣的文章
Mysql学习总结(43)——MySQL主从复制详细配置
查看>>
Mysql学习总结(44)——Linux下如何实现mysql数据库每天自动备份定时备份
查看>>
Mysql学习总结(45)——Mysql视图和事务
查看>>
Mysql学习总结(46)——8种常被忽视的SQL错误用法
查看>>
Mysql学习总结(48)——MySql的日志与备份还原
查看>>
Mysql学习总结(49)——从开发规范、选型、拆分到减压
查看>>
Mysql学习总结(4)——MySql基础知识、存储引擎与常用数据类型
查看>>
Mysql学习总结(50)——Oracle,mysql和SQL Server的区别
查看>>
Mysql学习总结(51)——Linux主机Mysql数据库自动备份
查看>>
Mysql学习总结(52)——最全面的MySQL 索引详解
查看>>
Mysql学习总结(53)——使用MySql开发的Java开发者规范
查看>>
Mysql学习总结(54)——MySQL 集群常用的几种高可用架构方案
查看>>
Mysql学习总结(55)——MySQL 语句大全再温习
查看>>
Mysql学习总结(56)——MySQL用户管理和权限设置
查看>>
Mysql学习总结(57)——MySQL查询当天、本周、本月、上周、本周、上月、距离当前现在6个月数据
查看>>
Mysql学习总结(58)——深入理解Mysql的四种隔离级别
查看>>
Mysql学习总结(59)——数据库分库分表策略总结
查看>>
Mysql学习总结(5)——MySql常用函数大全讲解
查看>>
Mysql学习总结(60)——并发量大、数据量大的互联网业务数据库设计规范总结
查看>>
Mysql学习总结(61)——MySQL优化之DBA级优化整理汇总
查看>>