记录编号 31484 评测结果 AAAAAA
题目名称 [HAOI 2004模拟]数列问题 最终得分 100
用户昵称 GravatarTruth.Cirno 是否通过 通过
代码语言 C++ 运行时间 0.937 s
提交时间 2011-11-02 18:33:41 内存使用 0.26 MiB
显示代码纯文本
#include <cstdio>
using namespace std;

const int su[9]={3,5,7,11,13,17,19,23,29};
int n,c=0,rec[15];
bool used[16]={false};

void tryit(int num,int deep)
{
	int i;
	rec[deep]=num;
	used[num]=true;
	if (deep+1==n)
	{
		for (i=0;i<deep;i++)
			printf("%d ",rec[i]);
		printf("%d\n",rec[i]);
		c++;
	}
	else
		for (i=0;i<9;i++)
			if (1<=su[i]-num&&su[i]-num<=n&&!used[su[i]-num])
				tryit(su[i]-num,deep+1);
	used[num]=false;
}

int main(void)
{
	freopen("dfs3.in","r",stdin);
	freopen("dfs3.out","w",stdout);
	scanf("%d\n",&n);
	int i;
	for (i=1;i<=n;i++)
		tryit(i,0);
	printf("%d\n",c);
	fclose(stdin);
	fclose(stdout);
	return(0);
}