2 solutions
-
1
#include<bits/stdc++.h> using namespace std; const int N=45; int a[N]; int ans[N],st[N]; int n; void dfs(int u) { if(u==n) { if(a[ans[1]+ans[u]]==1) { for(int i=1;i<=n;i++) { cout<<ans[i]<<" "; } cout<<endl; } return ; } for(int i=2;i<=n;i++) { if(st[i]==0&&a[ans[u]+i]==1) { ans[u+1]=i; st[i]=1; dfs(u+1); st[i]=0; } } } int main() { a[2]=a[3]=a[5]=a[7]=a[11]=a[13]=a[17]=a[19]=a[23]=a[29]=a[31]=1; cin>>n; ans[1]=1; st[1]=1; dfs(1); return 0; }
Information
- ID
- 1258
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 7
- Tags
- (None)
- # Submissions
- 22
- Accepted
- 6
- Uploaded By