比赛 |
20160329 |
评测结果 |
AAAAAAAAAA |
题目名称 |
排列杆子 |
最终得分 |
100 |
用户昵称 |
1azyReaper |
运行时间 |
0.003 s |
代码语言 |
C++ |
内存使用 |
0.40 MiB |
提交时间 |
2016-03-29 11:07:40 |
显示代码纯文本
#include <fstream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#define MAX 23
using namespace std;
ifstream fin("pole.in");
ofstream fout("pole.out");
long long pdd[MAX][MAX][MAX]={0};
int main()//by trl 2016-3-29
{
long long n,l,r;
//memset(pdd,0,sizeof(pdd));
fin>>n>>l>>r;
pdd[n+1][0][0]=1;pdd[n][1][1]=1;
for(int i=n-1;i>=1;i--)
{
for(int j=1;j<=l;j++)
{
for(int k=1;k<=r;k++)
{
pdd[i][j][k]=pdd[i+1][j][k-1]+pdd[i+1][j-1][k]+pdd[i+1][j][k]*(n-i-1);
}
}
}
fout<<pdd[1][l][r]<<endl;
return 0;
}