比赛 |
状态压缩DP |
评测结果 |
AAAAAAAAAATTTTTTTTTT |
题目名称 |
棋盘上的車 |
最终得分 |
50 |
用户昵称 |
Xiaokang_Zhao120 |
运行时间 |
10.687 s |
代码语言 |
C++ |
内存使用 |
0.31 MiB |
提交时间 |
2018-06-24 15:51:24 |
显示代码纯文本
#include<cstdio>
#include<iostream>
using namespace std;
int n;
int tot=0,C[21];
/*void print()
{
tot++;
if(tot<=3)
{
for(int i=0;i<n-1;i++)
printf("%d ",C[i]+1);
printf("%d\n",C[n-1]+1);
}
return;
}这不就是简单版的八皇后吗*/
void searchh(const int & cur)
{
if(cur==n)
tot++;
else
for(int i=0;i<n;i++)
{
int ok=1;
C[cur]=i;
for(int j=0;j<cur;j++)
if(C[cur]==C[j])
{
ok=0;
break;
}
if(ok)
searchh(cur+1);
}
return;
}
int main()
{
freopen("rook.in","r",stdin);freopen("rook.out","w",stdout);
scanf("%d",&n);
searchh(0);
printf("%d\n",tot);
return 0;
}