2 条题解
-
1
#include<bits/stdc++.h> using namespace std; int db[1000],book[1000],n,sum; int pd(int pd) { for(int i=2;i<pd;i++) { if(pd%i==0)return 1; } return 0; } void dg(int x) { if(x>n) { sum++; cout<<sum<<":"; for(int i=1;i<=n;i++)cout<<book[i]<<" "; cout<<endl; return; } for(int i=1;i<=n;i++) { if(db[i]>0)continue; else if(pd(i+book[x-1])==1&&x!=1)continue; else if(pd(i+book[1])1&&xn)continue; else{ db[i]=1; book[x]=i; dg(x+1); db[i]=0; book[x]=0; } } } int main() { cin>>n; dg(1); cout<<"total:"<<sum; return 0; }
-
-3
#include<bits/stdc++.h> using namespace std; int db[1000],book[1000],n,sum; int pd(int pd){ for(int i=2;i<pd;i++){ if(pd%i==0)return 1; } return 0; } void dg(int x){ if(x>n){ sum++; cout<<sum<<":"; for(int i=1;i<=n;i++)cout<<book[i]<<" "; cout<<endl; return; } for(int i=1;i<=n;i++){ if(db[i]>0)continue; else if(pd(i+book[x-1])==1&&x!=1)continue; else if(pd(i+book[1])==1&&x==n)continue; else{ db[i]=1; book[x]=i; dg(x+1); db[i]=0; book[x]=0; } } } int main(){ cin>>n; dg(1); cout<<"total:"<<sum; return 0; }
- 1
信息
- ID
- 355
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 4
- 标签
- 递交数
- 57
- 已通过
- 25
- 上传者