2 条题解
-
1
#include<bits/stdc++.h> using namespace std; long n,a[30],f[30],m,q; bool bb(long n) { if(n<2) return 0; for(int i=2;i<=sqrt(n);i++) if(n%i==0) return 0; return } void aa(long k) { if(k>n) { if(bb(a[n]+a[1])) { q++; for(int i=1;i<=n;i++) cout<<a[i]<<' '; cout<<endl; } return; } for(long i=2;i<=n;i++) { if(!f[i]&&bb(a[k-1]+i)) { f[i]=1; a[k]=i; aa(k+1); f[i]=0; } } } int main() { cin>>n; if(n%2==1) { cout<<"Lie!";return 0; } a[1]=1; aa(2); if(q==0) cout<<"Lie"; else cout<<q; }
-
0
#include<bits/stdc++.h> using namespace std; int n,a[25],b[25],s; int ss(int n) { if(n<=2) return 0; for(int i=2;i<=sqrt(n);++i) if(n%i==0) return 0; return 1; } void dfs(int k) { if(k>n) { if(ss(a[n]+a[1])) { for(int i=1;i<=n;++i) cout<<a[i]<<' '; cout<<endl; s++; } return ; } for(int i=2;i<=n;i++) if(!b[i]&&ss(a[k-1]+i)) { b[i]=1; a[k]=i; dfs(k+1); b[i]=0; } } int main() { cin>>n; if(n%2==1) return cout<<"Lie!",0; b[1]=1; a[1]=1; dfs(2); cout<<s; return 0; }
- 1
信息
- ID
- 171
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 4
- 标签
- 递交数
- 156
- 已通过
- 34
- 上传者