UVa
来源:互联网 发布:子域名 二级域名 编辑:程序博客网 时间:2024/06/03 14:45
UVa-524
题意:要求把1,2,3,……,n排列,围成一个环,相邻两个数和为素数。以1为首,顺时针输出所有可能。
思路:A[0]=1,然后搜索下一个位置的数字,直到用完n个数字,注意判断第一个和最后一个数字和也为素数。题目很简单,但要理解回溯的思想。
#include<cstdio>#include<cstring>using namespace std;const int maxn = 35;int prime[maxn],A[20],vis[20];int n;void dfs(int cur){ if(cur == n && !prime[A[cur-1]+A[0]]){ for(int i = 0; i < n-1; i++){ printf("%d ",A[i]); } printf("%d\n",A[n-1]); return; } else{ for(int i = 2; i <= n; i++){ if(!vis[i] && !prime[A[cur-1]+i]){ A[cur] = i; vis[i] = 1; dfs(cur+1); vis[i] = 0; } } } return;}int main(){ memset(prime,0,sizeof(prime)); prime[0] = prime[1] = 1; for(int i = 2; i < maxn; i++){ if(!prime[i]) for(int j = 2; i*j < maxn; j++){ prime[i*j] = 1; } } int cas = 1; while(~scanf("%d",&n)){ memset(vis,0,sizeof(vis)); if(cas != 1) printf("\n"); printf("Case %d:\n",cas++); memset(A,0,sizeof(A)); vis[1] = A[0] = 1; dfs(1); } return 0;}
0 0
- uva
- UVA
- UVA
- UVA
- uva
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- 爬取虎扑NBA球员常规赛各项数据存储至MongoDB
- 使用PagerAdapter时,无法动态更新数据
- php中的单引号、双引号和转义字符详解
- html中图片和文字显示在一行,并且交叉显示的style设置
- 周鸿祎:如何做好产品经理
- UVa
- Hibernate之session的管理方式
- navicate premium 1366-incorrect string value :'XXXX' for column ''at row
- 镜像的分层结构
- SQL常用指令
- 解决Attempt to invoke virtual method'boolean java.lang.String.equals(java.lang.Object)'...
- 单例模式的各种姿势
- 二分查找and快速排序
- 深度残差网络<3>