记录编号 364839 评测结果 AAAAA
题目名称 [HAOI 2004模拟]数列问题 最终得分 100
用户昵称 GravatarHeHe 是否通过 通过
代码语言 C++ 运行时间 0.036 s
提交时间 2017-01-18 12:45:03 内存使用 0.31 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
bool exist[20];
int ans[20],n,tot;
bool pan[101];
void print()
{
	for(int i(1);i<=n;i++)
	  cout<<ans[i]<<' ';
	putchar('\n');
}
void search(int c)
{
	for(int i(1);i<=n;i++)
	  if(!exist[i]&&!pan[ans[c-1]+i])
	  {
	  	exist[i]=1;
	  	ans[c]=i;
	  	if(c==n)print(),++tot;
	  	  else search(c+1);
	  	exist[i]=0;
	  }
	return ;
}
int main()
{
	freopen("dfs3.in","r",stdin);
	freopen("dfs3.out","w",stdout);
	pan[0]=pan[1]=1;
    for(int i(2);i<=100;i++)
      for(int j(2);i*j<=100;j++)
        pan[i*j]=1;
	scanf("%d",&n);
	for(int i(1);i<=n;i++)
	{
		ans[1]=i;
		exist[i]=1;
		search(2);
		exist[i]=0;
	}
	cout<<tot;
	return 0;
}