HDU解题报告——1016
来源:互联网 发布:linux wpa supplicant 编辑:程序博客网 时间:2024/05/16 08:50
这一题在没学DFS之前想到的方法是用STL里的permutation枚举求解,但是复杂度为(n-1)(n-1)!,实在伤不起,直接DFS就行了,也不用考虑栈溢出,代码如下:
#include <iostream>using namespace std;int prime[11]={3,5,7,11,13,17,19,23,29,31,37};int n,num[20];bool mark[20];bool jp(int a){for(int i=0;a>=prime[i];i++)if(a==prime[i]) return true;return false;}void print(){for(int i=1;i<n;i++) cout<<num[i]<<" ";cout<<num[n]<<endl;}void dfs(int total){if(total>n){if(jp(num[n]+num[1])) print();}else{for(int i=2;i<=n;i++){if(mark[i]) continue;else if(!jp(i+num[total-1])) continue;else{mark[i]=true;num[total]=i;dfs(total+1);mark[i]=false;}}}}int main(){for(int c=1;cin>>n;c++){memset(mark,false,sizeof(mark));cout<<"Case "<<c<<":\n";num[1]=1;mark[1]=mark;dfs(2);cout<<endl;}return 0;}
0 0
- HDU解题报告——1016
- HDU解题报告——1012
- HDU解题报告——1008
- HDU解题报告——1009
- HDU解题报告——1014
- HDU解题报告——1018
- HDU解题报告——1019
- HDU解题报告——1021
- HDU解题报告——1027
- HDU解题报告——1030
- HDU解题报告——1032
- HDU解题报告——1038
- HDU解题报告——1041
- HDU解题报告——1046
- HDU解题报告——1050
- HDU解题报告——1236
- HDU解题报告——2673
- HDU解题报告——1106
- 在发布站点前,Web开发者需要关注哪些技术细节?
- spring源码分析 源于百度
- 关于opencv图像类型的转换
- 搭建个人wiki站点
- Conscription 最小生成树
- HDU解题报告——1016
- POJ-3349 Snowflake Snow Snowflakes
- uva10887
- java中基本数据类型与对象引用类型的默认初始化值学习
- 会话管理
- using System.Drawing;是否缺少程序集引用?的解决办法
- 虚拟机Hyper-V, VMware, VPC使用及比较
- MVC架构在iOS中
- ZOJ-2414