2 条题解

  • 1
    @ 2022-10-2 14:17:30
    #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
      @ 2022-10-2 14:11:18
      #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
      上传者