HDU 1016(dfs)
来源:互联网 发布:淘宝购物评级怎么看 编辑:程序博客网 时间:2024/06/06 04:55
题意:给一个数n,求1~n围成一个圆环,圆环相邻的两个数相加为质数,输出所有可能。
#include <iostream>#include <string.h>#include <math.h>#include <stdio.h>using namespace std;bool prim[40];int num[25];bool used[25];//筛法void is_prim(){ memset(prim,0,sizeof(prim)); prim[0]=prim[1]=1; int sq=sqrt((double)40); for(int i=2;i<sq;i++) for(int j=i*i;j<40;j+=i) prim[j]=1;}void dfs(int root,int n,int t){ //数组从1开始,工n个数,当t>n时,说明n个数已排好序 if(t>n&&!prim[num[n]+num[1]]) { for(int j=1;j<n;j++) printf("%d ",num[j]); printf("%d\n",num[n]); return; } for(int i=1;i<=n;i++) { if(!prim[root+i]&&!used[i]) { num[t]=i; used[i]=1; dfs(i,n,t+1); used[i]=0; } }}int main(){ is_prim(); int n; int cas=1; while(scanf("%d",&n)!=EOF) { memset(used,0,sizeof(used)); printf("Case %d:\n",cas++); num[1]=1;//第一个数一定是1 used[1]=1; dfs(1,n,2); used[1]=0; printf("\n"); } return 0;}
0 0
- hdu 1016 (dfs)
- hdu 1016dfs
- hdu 1016 (DFS)
- hdu 1016 dfs
- hdu 1016 DFS
- HDU 1016 DFS
- HDU-1016 dfs
- HDU 1016 DFS
- hdu 1016 DFS基础
- HDU 1016(dfs)
- dfs hdu 1016
- HDU 1016 dfs+回溯
- hdu 1016(dfs+dp)
- hdu 1016 (dfs)
- hdu 1016 dfs+回溯
- HDU 1016 DFS
- hdu--1016 素素环(dfs)
- hdu 1016 dfs(素数环)
- HTML5 兼容性头部类
- centos 添加用户
- Linux驱动程序设计--字符设备设备号
- Oracle NOCOPY使用
- java中的泛型
- HDU 1016(dfs)
- 最全的 Twitter Bootstrap 开发资源清单
- RadioGroup用法
- 电脑知识大全之电脑内存常见问题处理方法
- js 读取url 参数
- uva 11311 EXCLUSIVELY EDIBLE (DP)
- 电脑知识大全之如何使用qq截图
- 建立顺序表
- 修改beacon帧结构(2)帧的接收与帧信息提取过程【Linux内核-OpenWRT】