2 条题解
- 
  -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; } 
信息
- ID
 - 355
 - 时间
 - 1000ms
 - 内存
 - 128MiB
 - 难度
 - 4
 - 标签
 - 递交数
 - 57
 - 已通过
 - 25
 - 上传者