2 条题解

  • 1
    @ 2023-3-20 19:02:04

    #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
      @ 2022-10-5 15:42:00
      #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
      上传者