比赛 |
皇后 |
评测结果 |
WWWWW |
题目名称 |
数列问题 |
最终得分 |
0 |
用户昵称 |
皓芷 |
运行时间 |
0.723 s |
代码语言 |
C++ |
内存使用 |
0.31 MiB |
提交时间 |
2017-03-19 18:41:22 |
显示代码纯文本
#include<cstdio>
#include<iostream>
using namespace std;
int n,ans=0,a[20]={0},b[20]={0};
void print()
{
ans++;
for(int i=1;i<=n;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
bool sushu(int d)
{
for(int i=2;i*i<=d;i++)
if(d%i==0)return 0;
else return 1;
}
void search(int i,int n)
{
for(int j=1;j<=n;j++)if((!b[j])&&sushu(j+a[i-1]))
{
a[i]=j;
b[j]=1;
if(i==n)print();
else search(i+1,n);
b[j]=0;
}
}
int main()
{
freopen("dfs3.in","r",stdin);
freopen("dfs3.out","w",stdout);
scanf("%d",&n);
search(1,n);
printf("%d",ans);
return 0;
}