杭电1016
来源:互联网 发布:2016淘宝联盟双十一 编辑:程序博客网 时间:2024/05/29 17:17
上链接:杭电1016
题目大意:
从1到6排成一个环(可以不按顺序),满足相邻两个数的和为素数,输入1-20的数,输出可能存在的环
#include <cstdio>#include <cstring>using namespace std;int c;int num[21];bool state[21];bool IsPrime(int n){ if(n==2 || n==3 || n==5 || n==7 || n==11 || n==13 || n==17 || n==19 || n==23 || n==29 || n==31 || n==37 || n==39 ) return true; else return false;}void dfs(int n){ if(n == c+1) { if(!IsPrime(1+num[n-1])) return; printf("1"); for(int i=2; i<=c; ++i) printf(" %d", num[i]); printf("\n"); } else { for(int i=2; i<=c; ++i) { if(state[i]) continue; if(IsPrime(num[n-1]+i)) { num[n]=i; state[i]=1; dfs(n+1); state[i]=0; } } }}int main(){ int logo=0; while(scanf("%d", &c)!=EOF) { ++logo; printf("Case %d:\n", logo); memset(state,0,21); num[1] = 1; state[1] = true; dfs(2); printf("\n"); } return 0;}
注意问题:
1.深搜剪枝
2.注意输出格式
0 0
- 杭电 1016
- 杭电1016
- 杭电 1016
- 杭电 ACM 1016
- 杭电1016
- 杭电1016
- 杭电1016
- 杭电 1016
- 杭电1016
- 杭电acm 1016
- 杭电 1016
- 杭电1016
- 杭电1016
- 杭电1016
- 杭电1016 素数环
- 杭电
- 杭电
- 杭电
- HorizontalScrollView 初始化滚动的实现
- 作业
- zoj2321
- 乡村教师(选段)
- UVA - 11059 Maximum Product
- 杭电1016
- 梯度下降法-gradient descent --实例解析
- poj 3268 Silver Cow Party(最短路)
- Android界面之ViewPager
- Maximum Subarray
- poj1007
- hdu 5294 Tricks Device
- UVa 10954 - Add All(最优二叉树)
- Linux lvm 管理