BOJ 389 Bricks
来源:互联网 发布:js base64转换为文件 编辑:程序博客网 时间:2024/06/10 09:47
题意:给你1-N个长度不相同的N个木棒,将其竖起成一行。求从左面看能看到L个木棒和从右面看能看到R个木棒的所有排列数目。
思路:
代码:
#include <cstdio>#include <cstring>using namespace std;const int MAXN = 5010;const int MOD = 1000000007;int N, L, R;long long C[MAXN][MAXN];long long dp[MAXN][MAXN];void init(){for (int i = 0; i < MAXN; ++i)C[i][0] = 1;for (int i = 1; i < MAXN; ++i)for (int j = 1; j <= i; ++j)C[i][j] = (C[i - 1][j - 1] + C[i - 1][j]) % MOD; memset(dp, 0, sizeof(dp)); for (int i = 1; i <= 5001; ++i){dp[i][0] = 1;for (int j = 1; j <= i - 2; ++j)dp[i][j] = (dp[i - 1][j] + dp[i - 1][j - 1] * (i - 2)) % MOD;}return;}int main(void){int T;scanf("%d", &T);init();while (T--){long long res = 0;scanf("%d %d %d", &N, &L, &R);res = C[L + R - 2][L - 1] * dp[N][N - L - R + 1] % MOD;printf("%lld\n", res);}return 0;}
0 0
- BOJ 389 Bricks
- BOJ 288
- BOJ 394
- BOJ 396
- BOJ 385
- BOJ 519
- BOJ 93
- BOJ 204
- BOJ 672
- BOJ 1454
- BOJ 387
- BOJ 652
- BOJ 1452
- BOJ 1461
- BOJ 1450
- Boxof Bricks
- n.boj 389 Shaking Your Cellphone(6th bupt acm problem D)
- boj contest, C++
- SourceMonitor: 代码重构的小工具,大用场
- Cordova+Angularjs 开发IOS App
- 影响网站页面重要度的因素
- UVA 748 (暑假-高精度-C-Exponentiation)
- sqlplus登录问题
- BOJ 389 Bricks
- 减少.NET应用程序内存占用的一则实践
- 黑马程序员_进军黑马的第一篇博文
- NPAPI——实现非IE浏览器的类似ActiveX的本地程序(插件)调用
- UVA 10106 (暑假-高精度-A - Product)
- J2SE基础:4.面向对象的特性一
- 在Ubuntu操作系统上安装mono和jexus搭建.NET的运行环境
- Hibernate注解插入有空字段实体映射类:实体类有空字段插入数据库时空属性插入为默认值
- ZOJ-1111