1 条题解
-
0
#include<bits/stdc++.h> using namespace std; int n,a[20],v[20]; bool bk; bool pd(int x) { if(x<2) return 0; for(int i=2;i*i<=x;i++)if(x%i==0)return 0; return 1; } void dfs(int k) { if(k>n && pd(a[1]+a[n])) { for(int i=1;i<n;i++)printf("%d ",a[i]); printf("%d\n",a[n]); } else { for(int i=1;i<=n;i++) if(v[i]==0 && pd(a[k-1]+i)==1 ) { v[i]=1; a[k]=i; dfs(k+1); v[i]=0; a[k]=0; } } } int main() { scanf("%d",&n); memset(v,0,sizeof(v)); a[1]=1;v[1]=1; dfs(2); return 0; }
- 1
信息
- ID
- 81
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 5
- 标签
- 递交数
- 240
- 已通过
- 90
- 上传者