HDOJ 1016 圆环和为素数 类似于全排列、八皇后,仅check函数不一样而已
来源:互联网 发布:通话变声软件 编辑:程序博客网 时间:2024/05/22 13:37
//ac!//这题还要再看,因为是参考了别人代码的//f[i]=0;//这一句很关键,之前这一句忘记了,结果就怎么也不输出 #include<cstdio>#include<algorithm>#include<cmath>#include<cstring>using namespace std;int f[25];//标记是否已经进入队列中int ans[25];//结果序列 int n;int isprime(int k){int q=sqrt(k);for(int j=2;j<=q;j++){if(k%j==0) return 0;}return 1; }void dfs(int k,int now){//k是当前深度,now是当前已确定序列的最后一个数if(k==n){//已经是全部结束了,要输出了 //必须注意的是,头和尾也要验证一下 if(isprime(now+1)){for(int i=0;i<n;i++){printf("%d%c",ans[i],i==n-1?'\n':' ');}} }else{for(int i=2;i<=n;i++){//对每一个位置进行枚举从2~n的数。而现在在第几个位置通过k来体现 if(!f[i]&&isprime(now+i)){f[i]=1;ans[k]=i;//序列中增加一个数 dfs(k+1,i);//当前深度加1f[i]=0;//这一句很关键,之前这一句忘记了,结果就怎么也不输出 }}} }int main(){int ncase=1;while(scanf("%d",&n)!=EOF){printf("Case %d:\n",ncase++);memset(f,0,sizeof(f));ans[0]=1;//第0层必是1 dfs(1,1);putchar('\n');}return 0;}
//自己写的,ac #include<cstdio>#include<cmath>using namespace std;int a[101]={0},v[101]={0}; int n; bool isprime(int m){int q=sqrt(m);for(int i=2;i<=q;i++){ if(m%i==0) return false;//这个地方一开始这么简单的函数写错了!i写成了q }return true;} void print(){for(int i=0;i<n;i++){printf("%d%c",a[i],i==n-1?'\n':' ');} } void DFS(int k,int now){if(k==n){//当前需要考虑下标为n的数时,就是退出的时候 if(isprime(now+1)) print();return;}else{//对当前位进行逐一枚举从1~n for(int i=2;i<=n;i++){if(!v[i]&&isprime(now+i)){v[i]=1; a[k]=i;DFS(k+1,i);v[i]=0;//如果没有选这个的话? }}}return ;}int main(){scanf("%d",&n);a[0]=1; DFS(1,1);//当前需要考虑的下标为1的值 第一个数已经确定,现在考虑的层数是1层,0层已经确定了。return 0;}
0 0
- HDOJ 1016 圆环和为素数 类似于全排列、八皇后,仅check函数不一样而已
- 八皇后问题和字符串全排列
- 八皇后问题的全排列解法
- 全排列与八皇后的转化
- 全排列方法求解八皇后问题
- 八皇后问题的全排列解法
- 八皇后问题--全排列法[Java]
- 利用全排列算法八皇后问题和正方体摆数使三组面顶点之和相等问题
- 字符串的全排列和组合算法(扩展:八皇后问题)
- hdoj 1016 素数圆环问题(深度优先搜索z和道题 )
- 字符串数组的全排列到八皇后问题详解
- 字符串数组的全排列到八皇后问题详解
- 利用全排列八皇后问题的一种解法
- 运用全排列的方法解决八皇后问题
- 八皇后非递归(仅使用一个数组且可扩展为N皇后问题)
- 《编程之法》1.3字符串的全排列,组合,重复排列,八皇后问题
- 回溯问题+幂集、排列、子集和问题、八皇后问题
- C# 求素数和,整数数组顺序排列,递归函数 全排列
- 在安卓默认布局(RelativeLayout)中已经添加好好按钮,需要滚动条时如何添加?
- Java习惯用法总结
- Linux下的makefile编写详解
- Android--UI之Spinner
- SoundPool和media player对比
- HDOJ 1016 圆环和为素数 类似于全排列、八皇后,仅check函数不一样而已
- 深入Java单例模式
- Configure openerp on ubuntu 14.x(14.10)
- [iOS] (1)编译HelloWorld
- 日拱一卒(三十六)
- PLSQL连接oracel数据库_用户无法登陆_oci.dll_配置问题(32位64位问题)
- lufylegend引擎 rpg开发之2D地图的碰撞检测
- Android SDK更新 及 所有SDK文件共享
- 产品模式总结