博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NYOJ 448 素数环
阅读量:5133 次
发布时间:2019-06-13

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

 1 #include<iostream>
 2 #include<memory.h>
 3 
using 
namespace std;
 4 
int n,visit[
21],cir[
21],pri[
40];
 5 
void dfs(
int k, 
int n)
 6 {
 7     
int i;
 8     
if(k == n && pri[
1 + cir[n-
1]] )
 9     {
10         cout<<
1;
11         
for(i = 
1; i < n; ++i)
12             cout<<
"
 
"<<cir[i];
13         cout<<endl;
14     }
15     
16     
else
17     {
18         
for(i = 
2; i <= n; ++i)
19         {
20             
if(pri[i + cir[k-
1]] && !visit[i])
21             {
22                 visit[i] = 
1;
23                 cir[k] = i;
24                 dfs(k+
1,n);
25                 visit[i] = 
0;
26             }
27         }
28     }    
29 }
30 
int main()
31 {
32     pri[
2] = 
1; pri[
3] = 
1; pri[
5] = 
1; pri[
7] = 
1; pri[
11] =
1;pri[
13] = 
1;
33     pri[
17] = 
1; pri[
19] = 
1; pri[
23] = 
1; pri[
29] = 
1;pri[
31] = 
1; pri[
37] = 
1;
34     
int i,j,t=
0;
35     
while(cin>>n,n)
36     {
37         cout<<
"
Case 
"<<++t<<
"
:\n
";
38         
if(n == 
1){
39             cout<<
1<<endl;
40             
continue;
41         }
42         
if(n & 
1){
43             cout<<
"
No Answer\n
";
44             
continue;
45         }
46         memset(visit,
0,
sizeof(visit));
47         visit[
1] = 
1; cir[
0] = 
1;
48         dfs(
1,n);
49     }
50     
return 
0;
51 }

转载于:https://www.cnblogs.com/yaling/archive/2013/04/23/3037749.html

你可能感兴趣的文章
Linux环境下MySql安装和常见问题的解决
查看>>
lrzsz——一款好用的文件互传工具
查看>>
ZPL语言完成条形码的打印
查看>>
这20件事千万不要对自己做!
查看>>
Linux环境下Redis安装和常见问题的解决
查看>>
玩转小程序之文件读写
查看>>
HashPump用法
查看>>
cuda基础
查看>>
virutalenv一次行安装多个requirements里的文件
查看>>
Vue安装准备工作
查看>>
.NET 母版页 讲解
查看>>
Android Bitmap 和 Canvas详解
查看>>
最大权闭合子图
查看>>
oracle 创建暂时表
查看>>
201421410014蒋佳奇
查看>>
导入导出数据库和导入导出数据库表
查看>>
linux下操作mysql
查看>>
【03月04日】A股滚动市盈率PE历史新低排名
查看>>
Xcode5和ObjC新特性
查看>>
jvm slot复用
查看>>