记录编号 |
243466 |
评测结果 |
AAAAAAAAAA |
题目名称 |
排列杆子 |
最终得分 |
100 |
用户昵称 |
ZXCVBNM_1 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.003 s |
提交时间 |
2016-03-30 01:15:34 |
内存使用 |
0.43 MiB |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
#define LL long long
LL f[25][25][25];
int main()
{
freopen("pole.in","r",stdin);
freopen("pole.out","w",stdout);
LL n,l,r,i,j,k;
scanf("%lld %lld %lld",&n,&l,&r);
memset(f,0,sizeof(f));//f[i][j][k]为插入高度为i时,左边可以看到j个,右边可以看到k个.
f[0][0][0]=f[1][1][1]=1;
for(i=1;i<=n;i++)
{
for(j=1;j<=l;j++)
{
for(k=1;k<=r;k++)
{
f[i][j][k]+=(f[i-1][j-1][k]+f[i-1][j][k-1]+f[i-1][j][k]*(n-i));
}
}
}
printf("%lld",f[n][l][r]);
fclose(stdin);
fclose(stdout);
return 0;
}