比赛 动规 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 棋盘上的車 最终得分 100
用户昵称 swttc 运行时间 0.097 s
代码语言 C++ 内存使用 8.31 MiB
提交时间 2017-06-18 21:35:22
显示代码纯文本
#include<bits/stdc++.h>
#define COGS
using namespace std;
const int maxn=20;
long long f[1<<maxn],n,temp;
inline void in(){
	#ifdef COGS
	freopen("rook.in","r",stdin);
	freopen("rook.out","w",stdout);
	#endif
	scanf("%lld",&n);
	temp=(1<<n)-1;
}
inline long long lowbit(int x){
	return x&-x;
}
inline void dp(){
	f[0]=1;
	for (long long i=1;i<=temp;i++){
		for (long long j=i;j;j-=lowbit(j)){
			long long k=lowbit(j);
			f[i]+=f[i-k];
		}
	}
}
inline void p(){
	printf("%lld",f[temp]);
}
int main(){
	in();
	dp();
	p();
	return 0;
}