caioj.1040 搜索初步
来源:互联网 发布:java bigdecimal减法 编辑:程序博客网 时间:2024/05/22 14:10
因为按字典序排序
且头尾相接 可理解成是一个圈
所以第一位一定是1
prim 判断素数的函数里可以加上记忆化
因为函数里i*i<=x写成了n debug了很久
边写边输出调试比较好
可以定义debug函数【雾
以及 什么时候要写一下线性筛呀
#include<bits/stdc++.h>using namespace std;template <typename T> void read(T &x){x=0;int f=1;char ch=getchar();for(;!isdigit(ch);ch=getchar())if(ch=='-')f=-1;for(;isdigit(ch);ch=getchar())x=(x<<1)+(x<<3)+ch-'0';x*=f;}int n;int ans[21];bool vis[21];bool sushu[36];bool prim(int x){if(x<=1) return false;else{if(sushu[x]) return true;for(int i=2;i*i<=x;++i)if(x%i==0) return false;sushu[x]=1;return true;}}void dfs(int k){if(k==n+1){if(prim(ans[n]+1)){for(int i=1;i<=n;++i) cout<<ans[i]<<" ";cout<<endl;}return;}else{for(int i=2;i<=n;++i){if(!vis[i]&&prim(i+ans[k-1])){ans[k]=i;vis[i]=1;dfs(k+1);ans[k]=0;vis[i]=0;}}}}int main(){read(n);memset(ans,0,sizeof(ans));memset(vis,0,sizeof(vis));memset(sushu,0,sizeof(sushu));sushu[2]=1;ans[1]=1;dfs(2); return 0;}
阅读全文
0 0
- caioj.1040 搜索初步
- caioj.1031 搜索初步
- caioj.1032 搜索初步
- caioj.1033 搜索初步
- caioj.1034 搜索初步
- caioj.1035 搜索初步
- caioj.1036 搜索初步
- caioj.1037 搜索初步
- caioj.1038 搜索初步
- caioj.1039 搜索初步
- caioj.1042 背包搜索
- caioj.1041 简单的搜索剪枝
- [搜索算法]三分搜索初步
- elasticsearch 创建搜索初步
- 1004-搜索初步
- 搜索初步-1002
- 搜索初步-1008
- 搜索 初步 1020
- LeetCode 103. Binary Tree Zigzag Level Order Traversal
- jquery预加载的四种种方式
- 数组循环左移P位算法
- 2017.09.07 dsp升级调试
- 线程、进程及其相关内容的完整总结
- caioj.1040 搜索初步
- [js高手之路]node js系列课程-创建简易web服务器与文件读写
- KVC与KVO的总结
- vue-resource -- 全局拦截器interceptors
- angularjs-渲染完数据后执行js
- Alertdialog对话框,设置点击其他位置不消失
- 网络通信简单代码(TCP)
- Android学习 ------- Context理解
- 十进制转二进制、十进制转十六进制